123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408 |
- Unicode versions of the X11 "misc-fixed-*" fonts
- ------------------------------------------------
- Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/> -- 2003-01-17
- This package contains the X Window System bitmap fonts
- -Misc-Fixed-*-*-*--*-*-*-*-C-*-ISO10646-1
- These are Unicode (ISO 10646-1) extensions of the classic ISO 8859-1
- X11 terminal fonts that are widely used with many X11 applications
- such as xterm, emacs, etc.
- COVERAGE
- --------
- None of these fonts covers Unicode completely. Complete coverage
- simply would not make much sense here. Unicode 3.0 contains over 49000
- characters, and the large majority of them are Chinese/Japanese/Korean
- Han ideographs (~28000) and Korean Hangul Syllables (~11000) that
- cannot adequately be displayed in the small pixel sizes of the fixed
- fonts. Similarly, Arabic characters are difficult to fit nicely
- together with European characters into the fixed character cells and
- X11 lacks the ligature substitution mechanisms required for using
- Indic scripts.
- Therefore these fonts primarily attempt to cover Unicode subsets that
- fit together with European scripts. This includes the Latin, Greek,
- Cyrillic, Armenian, Georgian, and Hebrew scripts, plus a lot of
- linguistic, technical and mathematical symbols. Some of the fixed
- fonts now also cover Arabic, Thai, Ethiopian, halfwidth Katakana, and
- some other non-European scripts.
- We have defined 3 different target character repertoires (ISO 10646-1
- subsets) that the various fonts were checked against for minimal
- guaranteed coverage:
- TARGET1 616 characters
- Covers all characters of ISO 8859 part 1-5,7-10,13-16,
- CEN MES-1, ISO 6937, Microsoft CP1251/CP1252, DEC VT100
- graphics symbols, and the replacement and default
- character. It is intended for small bold, italic, and
- proportional fonts, for which adding block graphics
- characters would make little sense. This repertoire
- covers the following ISO 10646-1:2000 collections
- completely: 1-3, 8, 12.
- TARGET2 885 characters
- Adds to TARGET1 the characters of the Adobe/Microsoft
- Windows Glyph List 4 (WGL4), plus a selected set of
- mathematical characters (covering most of ISO 31-11
- high-school level math symbols) and some combining
- characters. It is intended to be covered by all normal
- "fixed" fonts and covers all European IBM, Microsoft, and
- Macintosh character sets. This repertoire covers the
- following ISO 10646-1:2000 (including Amd 1:2002)
- collections completely: 1-3, 8, 12, 33, 45.
- TARGET3 3228 characters
- Adds to TARGET2 all characters of all European scripts
- (Latin, Greek, Cyrillic, Armenian, Georgian), all
- phonetic alphabet symbols, many mathematical symbols
- (including all those available in LaTeX), all typographic
- punctuation, all box-drawing characters, control code
- pictures, graphical shapes and some more that you would
- expect in a very comprehensive Unicode 3.2 font for
- European users. It is intended for some of the more
- useful and more widely used normal "fixed" fonts. This
- repertoire is a superset of all graphical characters in
- CEN MES-3A and covers the following ISO 10646-1:2000
- (including Amd 1:2002) collections completely: 1-12, 27,
- 30-31, 32 (only graphical characters), 33-42, 44-47, 63,
- 65, 70 (only graphical characters).
- CURRENT STATUS:
- 6x13.bdf 8x13.bdf 9x15.bdf 9x18.bdf 10x20.bdf:
- Complete (TARGET3 reached and checked)
- 5x7.bdf 5x8.bdf 6x9.bdf 6x10.bdf 6x12.bdf 7x13.bdf 7x14.bdf clR6x12.bdf:
- Complete (TARGET2 reached and checked)
- 6x13B.bdf 7x13B.bdf 7x14B.bdf 8x13B.bdf 9x15B.bdf 9x18B.bdf:
- Complete (TARGET1 reached and checked)
- 6x13O.bdf 7x13O.bdf 8x13O.bdf
- Complete (TARGET1 minus Hebrew and block graphics)
- The supplement package
- http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts-asian.tar.gz
- contains the following additional square fonts with Han characters for
- East Asian users:
- 12x13ja.bdf:
- Covers TARGET2, JIS X 0208, Hangul, and a few more. This font is
- primarily intended to provide Japanese full-width Hiragana,
- Katakana, and Kanji for applications that take the remaining
- ("halfwidth") characters from 6x13.bdf. The Greek lowercase
- characters in it are still a bit ugly and will need some work.
- 18x18ja.bdf:
- Covers all JIS X 0208, JIS X 0212, GB 2312-80, KS X 1001:1992,
- ISO 8859-1,2,3,4,5,7,9,10,15, CP437, CP850 and CP1252 characters,
- plus a few more, where priority was given to Japanese han style
- variants. This font should have everything needed to cover the
- full ISO-2022-JP-2 (RFC 1554) repertoire. This font is primarily
- intended to provide Japanese full-width Hiragana, Katakana, and
- Kanji for applications that take the remaining ("halfwidth")
- characters from 9x18.bdf.
- 18x18ko.bdf:
- Covers the same repertoire as 18x18ja plus full coverage of all
- Hangul syllables and priority was given to Hanja glyphs in the
- unified CJK area as they are used for writing Korean.
- The 9x18 and 6x12 fonts are recommended for use with overstriking
- combining characters.
- Bug reports, suggestions for improvement, and especially contributed
- extensions are very welcome!
- INSTALLATION
- ------------
- You install the fonts under Unix roughly like this (details depending
- on your system of course):
- System-wide installation (root access required):
- cd submission/
- make
- su
- mv -b *.pcf.gz /usr/lib/X11/fonts/misc/
- cd /usr/lib/X11/fonts/misc/
- mkfontdir
- xset fp rehash
- Alternative: Installation in your private user directory:
- cd submission/
- make
- mkdir -p ~/local/lib/X11/fonts/
- mv *.pcf.gz ~/local/lib/X11/fonts/
- cd ~/local/lib/X11/fonts/
- mkfontdir
- xset +fp ~/local/lib/X11/fonts (put this last line also in ~/.xinitrc)
- Now you can have a look at say the 6x13 font with the command
- xfd -fn '-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1'
- If you want to have short names for the Unicode fonts, you can also
- append the fonts.alias file to that in the directory where you install
- the fonts, call "mkfontdir" and "xset fp rehash" again, and then you
- can also write
- xfd -fn 6x13U
- Note: If you use an old version of xfontsel, you might notice that it
- treats every font that contains characters >0x00ff as a Japanese JIS
- font and therefore selects inappropriate sample characters for display
- of ISO 10646-1 fonts. An updated xfontsel version with this bug fixed
- comes with XFree86 4.0 or newer.
- If you use the Exceed X server on Microsoft Windows, then you will
- have to convert the BDF files into Microsoft FON files using the
- "Compile Fonts" function of Exceed xconfig. See the file exceed.txt
- for more information.
- There is one significant efficiency problem that X11R6 has with the
- sparsely populated ISO10646-1 fonts. X11 transmits and allocates 12
- bytes with the XFontStruct data structure for the difference between
- the lowest and the highest code value found in a font, no matter
- whether the code positions in between are used for characters or not.
- Even a tiny font that contains only two glyphs at positions 0x0000 and
- 0xfffd causes 12 bytes * 65534 codes = 786 kbytes to be requested and
- stored by the client. Since all the ISO10646-1 BDF files provided in
- this package contain characters in the U+00xx (ASCII) and U+ffxx
- (ligatures, etc.) range, all of them would result in 786 kbyte large
- XCharStruct arrays in the per_char array of the corresponding
- XFontStruct (even for CharCell fonts!) when loaded by an X client.
- Until this problem is fixed by extending the X11 font protocol and
- implementation, non-CJK ISO10646-1 fonts that lack the (anyway not
- very interesting) characters above U+31FF seem to be the best
- compromise. The bdftruncate.pl program in this package can be used to
- deactivate any glyphs above a threshold code value in BDF files. This
- way, we get relatively memory-economic ISO10646-1 fonts that cause
- "only" 150 kbyte large XCharStruct arrays to be allocated. The
- deactivated glyphs are still present in the BDF files, but with an
- encoding value of -1 that causes them to be ignored.
- The ISO10646-1 fonts can not only be used directly by Unicode aware
- software, they can also be used to create any 8-bit font. The
- ucs2any.pl Perl script converts a ISO10646-1 BDF font into a BDF font
- file with some different encoding. For instance the command
- perl ucs2any.pl 6x13.bdf MAPPINGS/8859-7.TXT ISO8859-7
- will generate the file 6x13-ISO8859-7.bdf according to the 8859-7.TXT
- Latin/Greek mapping table, which available from
- <ftp://ftp.unicode.org/Public/MAPPINGS/>. [The shell script
- ./map_fonts automatically generates a subdirectory derived-fonts/ with
- many *.bdf and *.pcf.gz 8-bit versions of all the
- -misc-fixed-*-iso10646-1 fonts.]
- When you do a "make" in the submission/ subdirectory as suggested in
- the installation instructions above, this will generate exactly the
- set of fonts that have been submitted to the XFree86 project for
- inclusion into XFree86 4.0. These consists of all the ISO10646-1 fonts
- processed with "bdftruncate.pl U+3200" plus a selected set of derived
- 8-bit fonts generated with ucs2any.pl.
- I recommend to play around with the UTF-8 editor Yudit. To use for
- example the 6x13 font with Yudit 1.5, you just have to select the
- settings
- Font=Misc Unicode
- Size=13
- Slant=Roman
- Spacing=CharCell
- Weight=Medium
- Add.Style=Any
- Avg.Width=60
- in the Font menu or in the ~/.yuditrc config file. Yudit is a nice
- text file editor with UTF-8 support, available from
- http://www.yudit.org/
- ftp://sunsite.unc.edu/pub/Linux/apps/editors/X/yudit-1.5.tar.gz
- You can also use these fonts with Emacs 20.6 or higher. For more
- information, see
- http://www.cs.ust.hk/faculty/otfried/Mule/
- Every font comes with a *.repertoire-utf8 file that lists all the
- characters in this font.
- CONTRIBUTING
- ------------
- If you want to help me in extending or improving the fonts, or if you
- want to start your own ISO 10646-1 font project, you will have to edit
- BDF font files. This is most comfortably done with the xmbdfed font
- editor (version 4.3 or higher), which is available from
- ftp://crl.nmsu.edu/CLR/multiling/General/
- Once you are familiar with xmbdfed, you will notice that it is no
- problem to design up to 100 nice characters per hour (even more if
- only placing accents is involved).
- Information about other X11 font tools and Unicode fonts for X11 in
- general can be found on
- http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html
- The latest version of this package is available from
- http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz
- If you want to contribute, then get the very latest version of this
- package, check which glyphs are still missing or inappropriate for
- your needs, and send me whatever you had the time to add and fix. Just
- email me the extended BDF-files back, or even better, send me a patch
- file of what you changed. The best way of preparing a patch file is
- ./touch_id newfile.bdf
- diff -d -u -F STARTCHAR oldfile.bdf newfile.bdf >file.diff
- which ensures that the patch file preserves information about which
- exact version you worked on and what character each "hunk" changes.
- I will try to update this packet on a daily basis. By sending me
- extensions to these fonts, you agree that the resulting improved font
- files will remain in the public domain for everyone's free use. Always
- make sure to load the very latest version of the package immediately
- before your start, and send me your results as soon as you are done,
- in order to avoid revision overlaps with other contributors.
- Please try to be careful with the glyphs you generate:
- - Always look first at existing similar characters in order to
- preserve a consistent look and feel for the entire font and
- within the font family. For block graphics characters and geometric
- symbols, take care of correct alignment.
- - Read issues.txt, which contains some design hints for certain
- characters.
- - All characters of CharCell (C) fonts must strictly fit into
- the pixel matrix and absolutely no out-of-box ink is allowed.
- - The character cells will be displayed directly next to each other,
- without any additional pixels in between. Therefore, always make
- sure that at least the rightmost pixel column remains white, as
- otherwise letters will stick together, except of course for
- characters -- like Arabic or block graphics -- that are supposed to
- stick together.
- - Place accents as low as possible on the Latin characters.
- - Try to keep the shape of accents consistent among each other and
- with the combining characters in the U+03xx range.
- - Use xmbdfed only to edit the BDF file directly and do not import
- the font that you want to edit from the X server. Use xmbdfed 4.3
- or higher.
- - The glyph names should be the Adobe names for Unicode characters
- <http://partners.adobe.com/asn/developer/typeforum/unicodegn.html>,
- as xmbdfed can set them automatically if it is configured
- with the location of the Adobe "glyphlist.txt" file in
- "adobe_name_file" in "~/.xmbdfed". For xmbdfed 4.5 and older, use
- <http://partners.adobe.com/asn/developer/type/glyphlist-old.txt>.
- - Be careful to not change the FONTBOUNDINGBOX box accidentally in
- a patch.
- You should have a copy of the ISO 10646 standard
- ISO/IEC 10646-1:2000, Information technology -- Universal
- Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture
- and Basic Multilingual Plane, International Organization for
- Standardization, Geneva, 2000.
- http://www.iso.ch/cate/d29819.html
- and/or the Unicode 3.0 book:
- The Unicode Consortium: The Unicode Standard, Version 3.0,
- Reading, MA, Addison-Wesley Developers Press, 2000,
- ISBN 0-201-61633-5.
- http://www.amazon.com/exec/obidos/ASIN/0201616335/mgk25
- All these fonts are from time to time resubmitted to the XFree86
- project (they have been in there since XFree86 4.0), X.Org, Sun, and
- to other X server developers for inclusion into their normal X11
- distributions.
- Starting with XFree86 4.0, xterm has included UTF-8 support. This
- version is also available from
- http://dickey.his.com/xterm/xterm.html
- Please make the developer of your favourite software aware of the
- UTF-8 definition in RFC 2279 and of the existence of this font
- collection. For more information on how to use UTF-8, please check out
- http://www.cl.cam.ac.uk/~mgk25/unicode.html
- ftp://ftp.ilog.fr/pub/Users/haible/utf8/Unicode-HOWTO.html
- where you will also find information on joining the
- linux-utf8@nl.linux.org mailing list.
- A number of UTF-8 example text files can be found in the examples/
- subdirectory or on
- http://www.cl.cam.ac.uk/~mgk25/ucs/examples/
- CONTRIBUTORS
- Robert Brady <rwb197@ecs.soton.ac.uk> and Birger Langkjer
- <birger.langkjer@image.dk> contributed thousands of glyphs and made
- very substantial contributions and improvements on almost all fonts.
- Constantine Stathopoulos <cstath@irismedia.gr> contributed all the
- Greek characters. Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk> did most 6x13
- glyphs and the italic fonts and provided many more glyphs,
- coordination, and quality assurance for the other fonts. Mark Leisher
- <mleisher@crl.nmsu.edu> contributed to 6x13 Armenian, Georgian, the
- first version of Latin Extended Block A and some Cyrillic. Serge V.
- Vakulenko <vak@crox.net.kiae.su> donated the original Cyrillic glyphs
- from his 6x13 ISO 8859-5 font. Nozomi Ytow <nozomi@biol.tsukuba.ac.jp>
- contributed 6x13 halfwidth Katakana. Henning Brunzel
- <hbrunzel@meta-systems.de> contributed glyphs to 10x20.bdf. Theppitak
- Karoonboonyanan <thep@linux.thai.net> contributed Thai for 7x13,
- 7x13B, 7x13O, 7x14, 7x14B, 8x13, 8x13B, 8x13O, 9x15, 9x15B, and 10x20.
- Karl Koehler <koehler@or.uni-bonn.de> contributed Arabic to 9x15,
- 9x15B, and 10x20 and Roozbeh Pournader <roozbeh@sharif.ac.ir> and
- Behdad Esfahbod revised and extended Arabic in 10x20. Raphael Finkel
- <raphael@cs.uky.edu> revised Hebrew/Yiddish in 10x20. Jungshik Shin
- <jshin@pantheon.yale.edu> prepared 18x18ko.bdf. Won-kyu Park
- <wkpark@chem.skku.ac.kr> prepared the Hangul glyphs used in 12x13ja.
- Janne V. Kujala <jvk@iki.fi> contributed 4x6. Daniel Yacob
- <perl@geez.org> revised some Ethiopic glyphs. Ted Zlatanov
- <tzz@lifelogs.com> did some 7x14. Thanks also to everyone who
- contributed additions to the UTF-8 example texts and to Bruno Haible
- <haible@ilog.fr> for valuable comments.
- The creation of these fonts would certainly not have been possible
- without Mark Leisher's wonderful xmbdfed software.
- Markus
- --
- Markus G. Kuhn, Computer Laboratory, University of Cambridge, England
|