Script (Unicode): Difference between revisions

Content deleted Content added
External links: Updated URL for SEI website
 
(87 intermediate revisions by 48 users not shown)
Line 1:
{{short description|Subset of characters in Unicode}}
{{about|writing systems found in Unicode|the "Script" style of Latin letters in Unicode|Mathematical Alphanumeric Symbols}}
{{More citations needed|date=June 2024}}
[[File:Armenian language in the Armenian alphabet.svg|thumb|[[Armenian script]]]]
{{about|writing systems found in Unicode|the "Script" style of Latin letters in Unicode|Mathematical Alphanumeric Symbols|and|Script typeface}}
In [[Unicode]], a '''script''' is a collection of letters and other written signs used to represent textual information in one or more writing systems.<ref>[http://unicode.org/glossary/ Glossary of Unicode Terms]</ref> Some scripts support one and only one writing system and language, for example, [[Armenian language|Armenian]]. Other scripts support many different writing systems; for example, the [[Latin script in Unicode|Latin script]] supports [[English alphabet|English]], [[French alphabet|French]], [[German alphabet|German]], [[Italian alphabet|Italian]], [[Vietnamese language|Vietnamese]], [[Latin alphabet|Latin]] itself, and several other languages. Some languages make use of multiple alternate writing systems, thus also use several scripts. In [[Turkish language|Turkish]], the [[Ottoman Turkish alphabet|Arabic]] script was used before the 20th century, but transitioned to Latin in the early part of the 20th century. For a list of languages supported by each script see the [[list of languages by writing system]]. More or less complementary to scripts are [[Unicode symbols|symbols]] and Unicode control characters.
<!-- [[File:Armenian language in the Armenian alphabet.svg|thumb|[[Armenian script]]]] -->
{{ISO 15924/unicode-script-illustration}}
 
In [[Unicode]], a '''script''' is a collection of letters[[Letter (alphabet)|letter]]s and other written signs used to represent textual information in one or more [[writing systemssystem]]s.<ref>[{{cite web|url=http://unicode.org/glossary/ |title=Glossary of Unicode Terms]|website=unicode.org}}</ref> Some scripts support one and only one writing system and [[Written language|language]], for example, [[Armenian language|Armenian]]. Other scripts support many different writing systems; for example, the [[Latin script in Unicode|Latin script]] supports [[English alphabet|English]], [[French alphabet|French]], [[German alphabet|German]], [[Italian alphabet|Italian]], [[Vietnamese language|Vietnamese]], [[Latin alphabet|Latin]] itself, and several other languages. Some languages make use of multiple alternate writing systems, and thus also use several scripts.; Infor example, in [[Turkish language|Turkish]], the [[Ottoman Turkish alphabet|Arabic]] script was used before the 20th century, but transitioned to Latin in the early part of the 20th century. For a list of languages supported by each script see the [[list of languages by writing system]]. More or less complementary to scripts are [[Unicode symbols|symbols]] and Unicode [[control characterscharacter]]s.
The unified diacritical characters and unified punctuation characters frequently have the "common" or "inherited" script property. However, the individual scripts often have their own punctuation and diacritics, so that many scripts include not only letters, but also [[diacritic]] and other marks, punctuation, numerals and even their own idiosyncratic symbols and space characters.
 
The unified [[Combining Diacritical Marks for Symbols|diacritical characterscharacter]]s and unified [[General Punctuation|punctuation characters]] frequently have the "common" or "inherited" script property. However, the individual scripts often have their own [[punctuation]] and diacritics[[diacritic]]s, so that many scripts include not only letters, but also [[diacritic]] and other marks, punctuation, numerals and even their own idiosyncratic symbols and [[Space (punctuation)|space]] characters.
Unicode 10.0 defines 139 separate scripts, including 86 modern scripts and 53 ancient or historic scripts.<ref>[https://www.unicode.org/Public/UNIDATA/Scripts.txt Unicode Character Database: Scripts]</ref><ref>{{cite book | title = The Unicode Standard, Version 6.2 | chapter = Chapter 14: Additional Ancient and Historic Scripts | publisher = Unicode, Inc | date = September 2012 | ___location = Mountain View, CA | pages = 473 | url = https://www.unicode.org/versions/Unicode6.2.0/ch14.pdf | isbn = 978-1-936213-07-8 }}</ref> More scripts are in the process for encoding or have been tentatively allocated for encoding in roadmaps.<ref>https://www.unicode.org/roadmaps/ Roadmaps to Unicode</ref>
 
Unicode 10{{Unicode version|version=16.0}} defines 139168 separate scripts, including 8699 modern scripts and 5369 ancient or historic scripts.<ref>[{{cite web|url=https://www.unicode.org/Public/UNIDATA/Scripts.txt |title=Unicode Character Database: Scripts]|website=unicode.org}}</ref><ref>{{cite book | title = The Unicode Standard, Version 615.20 | chapter = Chapter 14: Additional Ancient and Historic Scripts | publisher = Unicode, Inc | date = September 20122022 | ___location = Mountain View, CA | pages = 473 | url = https://www.unicode.org/versions/Unicode6Unicode15.20.0/ch14.pdf | isbn = 978-1-936213-0732-80 }}</ref> More scripts are in the process for encoding or have been tentatively allocated for encoding in roadmaps.<ref>https://www.unicode.org/roadmaps/ Roadmaps to Unicode</ref>
 
== Definition and classification ==
 
When multiple languages make use of the same script, there are frequently some differences:, particularly in diacritics and other marks. For example, Swedish and English both use the Latin script. However, [[Swedish alphabet|Swedish]] includes the character ‘å’''[[å]]'' (sometimes called a "Swedish ''O"''), while English has no such character. Nor does English make use of the diacritic ''[[Ring (diacritic)#Overring|combining circlering above]]'' for any character. In general, the languages sharing the same scripts share many of the same characters. Despite these peripheral differences in the Swedish and English writing systems, they are said to use the same Latin script. SoThus, the Unicode abstraction of scripts is a basic organizing technique. The differences betweenamong different alphabets or writing systems remain and are supported through Unicode’s flexible scripts, combining marks and collation algorithms.
 
=== Script versus writing system ===
 
"''[[Writing system]]"'' is sometimes treated as a synonym for "script". However, it also can be used as the specific concrete writing system supported by a script. For example, the [[Vietnamese alphabet|Vietnamese writing system]] is supported by the Latin script. A writing system may also cover more than one script,; for example, the Japanese writing system makes use of the [[Kanji|Han]], [[Hiragana]] and [[Katakana]] scripts.
 
Most writing systems can be broadly divided into several categories: '''logographic''', '''syllabic''', '''alphabetic''' (or '''segmental'''), '''abugida''', '''abjad''' and '''featural'''; however, all features of any of these may be found in any given writing system in varying proportions, often making it difficult to purely categorize a system. The term ''[[complex system]]'' is sometimes used to describe those where the admixture makes classification problematic.
 
Unicode supports all of these types of writing systems through its numerous scripts. Unicode also adds further properties to characters to help differentiate the various characters and the ways they behave within Unicode text -processing algorithms.
 
=== {{anchor|Common and inherited scripts}}{{anchor|Special script property values}}Special script property values ===
In addition to explicit or specific script properties, Unicode uses three special values:<ref name=Unicode_script_property>[{{cite web|url=https://www.unicode.org/reports/tr24/ Unicode Standard Annex|title=UAX #24: Unicode Script Property]|website=www.unicode.org}}</ref>
;Common: Unicode can assign a character in the [[Universal Character Set|UCS]] to a single script only. However, many characters — thosecharacters—those that are not part of a formal natural -language writing system or are unified across many writing systems maysystems—may be used in more than one script. For(for example, currency signs, symbols, numerals and punctuation marks). In these cases Unicode defines them as belonging to the "common" script ([[ISO 15924]] code "Zyyy").
;Inherited: Many diacritics and non-spacing combining characters may be applied to characters from more than one script. In these cases Unicode assigns them to the "inherited" script (ISO 15924 code Zinh), which means that they have the same script class as the base character with which they combine, and so in different contexts they may be treated as belonging to different scripts. For example, {{unichar|0308|Combining Diaeresis|cwith=}} may combine with either with {{unichar|0065|Latin Small Letter E}} to create a Latin "''ë",'' or with {{unichar|0435|Cyrillic Small Letter IE}} for the [[Cyrillic "alphabet|Cyrillic]] ''ё"''. In the former case, it inherits the Latin script of the base character, whereas in the latter case, it inherits the Cyrillic script of the base character.
;Unknown: The value of "unknown" script (ISO 15924 code Zzzz) is given to unassigned, private -use, noncharacter, and surrogate code points.
 
== Character categories within scripts ==
Unicode provides a general category property for each character. So in addition to belonging to a script every character also has a general category. Typically scripts include letter characters including: uppercase letters, lowercase letterletters and modifier letters. Some characters are considered titlecase letters for a few [[Precomposed character|precomposed]] ligatures such as Dz (U+01F2). Such titlecase ligatures are all in the Latin and Greek scripts and are all [[Unicode compatibility characters |compatibility characters]], and therefore Unicode discourages their use by authors. It is unlikely that new titlecase letters will be added in the future.
 
Most writing systems do not differentiate between uppercase and lowercase letters. For those scripts all letters are categorized as "other letter" or "modifier letter". Ideographs such as Unihan ideographs are also categorized as "other letters". A few scripts do differentiate between uppercase and lowercase however: Latin, Cyrillic, Greek, Armenian, Georgian, and Deseret. Even for these scripts there are some letters that are neither uppercase nor lowercase.
Line 32 ⟶ 36:
Scripts can also contain any other general category character such as '''marks''' (diacritic and otherwise), '''numbers''' (numerals), '''punctuation''', '''separators''' (word separators such as spaces), '''symbols''' and non-graphical '''format''' characters. These are included in a particular script when they are unique to that script. Other such characters are generally unified and included in the punctuation or diacritic blocks. However, the bulk of characters in any script (other than the common and inherited scripts) are letters.
 
== <span class="anchor" id="List of scripts in Unicode"></span> List of encoded scripts ==
{{As of|September 2024|alt=As of version 16.0}}, Unicode defines 168 scripts (called "Alias" or "Property value alias") based on the ISO 15924 list. In addition, Unicode assigns the name "Common" to ISO 15924's {{code|Zyyy}} code for undetermined scripts, "Inherited" to ISO 15924's {{code|Zinh}} code for inherited scripts, and "Unknown" to ISO 15924's {{code|Zzzz}} code for uncoded scripts. There are script codes defined by ISO 15924 but are not used in Unicode, including {{code|Zsym}} (Symbols) and {{code|Zmth}} (Mathematical notation).
Unicode defines over a hundred script names (called "Alias" or "Property value alias"), based on the ISO 15924 list.
Unicode uses the "Common" script name for ISO 15924's Zyyy (code for undetermined script), "Inherited" for ISO 15924's Zinh (code for inherited script), and "Unknown" for ISO 15924's Zzzz (code for uncoded script). Not used are, among others, the ISO 15924 script codes: Zsym (Symbols) and Zmth (Mathematical notation). These are considered not to be scripts in Unicode sense.
 
{{ISO 15924 script codes and related Unicode data|state=uncollapsed}}
 
== Missing scripts in Unicode ==
The project Missing Scripts—with contributors from the [[Mainz University of Applied Sciences]], the L’Atelier national de recherche typographique (ANRT) in [[Nancy, France|Nancy]], and the [[University of California, Berkeley]]—has compiled a list of 131 scripts that have not yet been encoded in ''The Unicode Standard'', out of a total of 294 recognized scripts according to the current state of research.<ref>{{Cite web |title=The World's Writing Systems |url=https://www.worldswritingsystems.org/ |access-date=2024-10-04 |website=www.worldswritingsystems.org}}</ref>
 
==See also==
Line 46 ⟶ 51:
==References==
{{Reflist}}
 
==External links==
* [https://sei.berkeley.edu/ Script Encoding Initiative], A project at UC Berkeley, USA, working to get more scripts included in the Unicode standard.
* [https://www.worldswritingsystems.org The World’s Writing Systems], An overview of all 294 known writing systems, each with a typographic reference glyph and their Unicode status.
 
{{Unicode navigation}}