Script (Unicode)
In Unicode a script is an abstract writing system supporting one or more concrete writing systems. For example the Latin script supports alphabets such as: English, French, Vietnamese and many others. A script is a coherent and unified writing system for languages. Some scripts support one and only one language, for example: Armenian . Other scripts, like Latin, support many different languages: English, French, German, Italian, and Latin to name just some of the languages supported by the Latin script. Some languages also make use of multiple alternate writing systems. Turkish, for example used Arabic before the 20th century and 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.
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 includes the character ‘å’ (sometimes called a “Swedish O”) while English has no such character. Nor does English make use of the diacritic combining circle 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. So the Unicode abstraction of writing systems is a basic organizing technique. The differences between different alphabets or writing systems remain and are supported through Unicode’s flexible scripts, combining marks and collation algorithms.
While all characters have the property of belonging to a script, many characters, such as symbols, indicate “common” or “inherited” for their script property. 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 many scripts include not only letters, but also diacritic and other marks, punctuation, numerals and even their own idiosyncratic symbols and space characters.
Unicode already includes over 60 scripts supporting hundreds or even thousands of languages throughout the World. Unicode is actively working on many more as indicated by its roadmap.
Writing system
Writing system is sometimes treated as a synonymn for script. However it also can be used as the specific concrete writing ssystem supported by a script. For example the Vietnamese writing system is supported by the Latin script.
Character cateegories within scripts
Template:UCS characters 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 letter, modifier letters and titlecase letters for a few precomposed ligatures such as Dz (U+01F2).
However, scripts can also contain any other general category character when its meant primarily to support the particular script. So scripts contain numbers (numerals), diacritics and other marks, punctuation, symbols and even control formatting characters in some cases.