A duospaced font (also called a duospace font) is a fixed-width font whose letters and characters occupy either of two integer multiples of a specified, fixed horizontal space. Traditionally, this means either a single or double character width, [1] although the term has also been applied to fonts using fixed character widths with another simple ratio between them. [2]
These dual character widths are also referred to as half-width and full-width, where a full-width character occupies double the width of a half-width character. This contrasts with variable-width fonts, where the letters and spacings have more than two different widths. And, unlike monospaced fonts, this means a character can occupy up to two effective character widths instead of a single character width. This extra horizontal space allows for the accommodation of wider glyphs, such as large ideographs, that cannot reasonably fit into the single character width of strictly uniform, monospaced font.
The idea of a "duospaced" font came from East Asian typography, where the local scripts of CJK characters simply cannot fit into a narrow column used in Latin fixed-pitch fonts. [1] Note that this "duospace" name is mostly a historical (c. 1990) Western distinction; Asian typefaces with such characteristics simply call themselves "monospaced" or "fixed-pitch". [3]
CJK monospace fonts typically include halfwidth and fullwidth forms of characters that provide different widths for typesetting. In addition to East Asian characters and such forms, it is common for other technical and pictographic symbols to become duospaced in some East Asian fonts, a phenomenon known as "ambiguous width". [3]
It is a common pitfall for Western programmers to neglect support for such fonts:
wcwidth()
function, originally part of POSIX, is available for querying the width of characters. [4] With the exception of some Japanese monospace fonts like Source Han Code JP, where a 1.5× width is used as the ideograph width, [6] almost all CJK monospace fonts use 2× as the ideograph width. [3] (In the case of the Korean language, Hangul characters which are usually slightly narrower than the ideographs are made to match them.)
Some CJK monospace fonts with two or more widths are:
Western duospaced fonts are similar in purpose to CJK duospaced fonts, but they are much rarer and less supported. The idea seems to be limited to an iA Writer typeface where the latin characters wmWM
have 1.5× widths, so that they retain the traditional letter shape better. [2]
A monospaced font, also called a fixed-pitch, fixed-width, or non-proportional font, is a font whose letters and characters each occupy the same amount of horizontal space. This contrasts with variable-width fonts, where the letters and spacings have different widths.
In internationalization, CJK characters is a collective term for graphemes used in the Chinese, Japanese, and Korean writing systems, which each include Chinese characters. The term CJKV also includes Chữ Nôm, the Chinese-origin logographic script formerly used for the Vietnamese language.
Han unification is an effort by the authors of Unicode and the Universal Character Set to map multiple character sets of the Han characters of the so-called CJK languages into a single set of unified characters. Han characters are a feature shared in common by written Chinese (hanzi), Japanese (kanji), Korean (hanja) and Vietnamese.
GB 18030 is a Chinese government standard, described as Information Technology — Chinese coded character set and defines the required language and character support necessary for software in China. GB18030 is the registered Internet name for the official character set of the People's Republic of China (PRC) superseding GB2312. As a Unicode Transformation Format, GB18030 supports both simplified and traditional Chinese characters. It is also compatible with legacy encodings including GB/T 2312, CP936, and GBK 1.0.
GB/T 2312-1980 is a key official character set of the People's Republic of China, used for Simplified Chinese characters. GB2312 is the registered internet name for EUC-CN, which is its usual encoded form. GB refers to the Guobiao standards (国家标准), whereas the T suffix denotes a non-mandatory standard.
Bitstream Cyberbit is a commercial serif Unicode font designed by Bitstream Inc. It is freeware for non-commercial uses. It was one of the first widely available fonts to support a large portion of the Unicode repertoire.
Japanese input methods are used to input Japanese characters on a computer.
Monospace is a monospaced Unicode font, developed by George Williams. It is based on the typeface Courier. This font contains 2860 glyphs. It includes characters in the following unicode ranges: Basic Latin, Latin-1 Supplement, Latin Extended-A, Latin Extended-B, IPA Extensions, Spacing Modifier Letters, Combining Diacritical Marks, Greek, Cyrillic, Hebrew, Latin Extended Additional, Greek Extended, General Punctuation, Superscripts and Subscripts, Currency Symbols, Combining Diacritical Marks for Symbols, Letterlike Symbols, Number Forms, Arrows, Mathematical Operators, Miscellaneous Technical, Control Pictures, Enclosed Alphanumerics, Box Drawing, Block Elements, Geometric Shapes, Miscellaneous Symbols, Alphabetic Presentation Forms, Halfwidth and Fullwidth Forms.
A Unicode font is a computer font that maps glyphs to code points defined in the Unicode Standard. The vast majority of modern computer fonts use Unicode mappings, even those fonts which only include glyphs for a single writing system, or even only support the basic Latin alphabet. Fonts which support a wide range of Unicode scripts and Unicode symbols are sometimes referred to as "pan-Unicode fonts", although as the maximum number of glyphs that can be defined in a TrueType font is restricted to 65,535, it is not possible for a single font to provide individual glyphs for all defined Unicode characters. This article lists some widely used Unicode fonts that support a comparatively large number and broad range of Unicode characters.
New Gulim (새굴림/SaeGulRim) is a sans-serif type Unicode font designed especially for the Korean-language script, designed by HanYang System Co., Limited. It is an expanded version of Hanyang Gulrim.
Symbol is one of the four standard fonts available on all PostScript-based printers, starting with Apple's original LaserWriter (1985). It contains a complete unaccented Greek alphabet and a selection of commonly used mathematical symbols. Insofar as it fits into any standard classification, it is a serif font designed in the style of Times New Roman.
In CJK computing, graphic characters are traditionally classed into fullwidth and halfwidth characters. Unlike monospaced fonts, a halfwidth character occupies half the width of a fullwidth character, hence the name.
Microsoft YaHei is a sans-serif gothic typeface created by Founder Electronics and Monotype Corporation under commission from Microsoft. Hinting for the font was undertaken by Monotype Imaging. The CJK ideographic characters were designed by the Founder Electronics foundry's senior designer, Li Qi (齐立).
Nimbus Sans is a sans-serif typeface created by URW++, based on Helvetica.
KS X 1001, "Code for Information Interchange ", formerly called KS C 5601, is a South Korean coded character set standard to represent Hangul and Hanja characters on a computer.
M+ FONTS is a series of Japanese fonts designed by Coji Morishita. The "M" stands for "minimum", while the plus sign means "above minimum".
Halfwidth and Fullwidth Forms is the name of a Unicode block U+FF00–FFEF, provided so that older encodings containing both halfwidth and fullwidth characters can have lossless translation to/from Unicode. It is the second-to-last block of the Basic Multilingual Plane, followed only by the short Specials block at U+FFF0–FFFF. Its block name in Unicode 1.0 was Halfwidth and Fullwidth Variants.
Source Han Sans is a sans-serif gothic typeface family created by Adobe and Google. It is also released by Google under the Noto fonts project as Noto Sans CJK. The family includes seven weights, and supports Traditional Chinese, Simplified Chinese, Japanese and Korean. It also includes Latin, Greek and Cyrillic characters from the Source Sans family.
Pitch is the number of (monospaced) letters, numbers and spaces in one inch (25.4 mm) of running text, that is, characters per inch, measured horizontally. The pitch was most often used as a measurement of the size of typewriter fonts as well as those of impact printers used with computers.
Iosevka is a monospace programming typeface, built declaratively using custom typeface generation software, and with an emphasis on compatibility with CJK characters. It is available under a FOSS license. The default builds are available in two styles of nine weights each, and come with italic and oblique versions. The typeface was designed to be easily configurable by editing textual TOML configuration files in the custom generation software.
For a fixed pitch font, this width translates to a display width of either one half or a whole unit width. [...] Some characters behave differently in East Asian context than in non-East Asian content. Their default width property is considered ambiguous and needs to be resolved into an actual width property based on context.