README.ORIG 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408
  1. Unicode versions of the X11 "misc-fixed-*" fonts
  2. ------------------------------------------------
  3. Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/> -- 2003-01-17
  4. This package contains the X Window System bitmap fonts
  5. -Misc-Fixed-*-*-*--*-*-*-*-C-*-ISO10646-1
  6. These are Unicode (ISO 10646-1) extensions of the classic ISO 8859-1
  7. X11 terminal fonts that are widely used with many X11 applications
  8. such as xterm, emacs, etc.
  9. COVERAGE
  10. --------
  11. None of these fonts covers Unicode completely. Complete coverage
  12. simply would not make much sense here. Unicode 3.0 contains over 49000
  13. characters, and the large majority of them are Chinese/Japanese/Korean
  14. Han ideographs (~28000) and Korean Hangul Syllables (~11000) that
  15. cannot adequately be displayed in the small pixel sizes of the fixed
  16. fonts. Similarly, Arabic characters are difficult to fit nicely
  17. together with European characters into the fixed character cells and
  18. X11 lacks the ligature substitution mechanisms required for using
  19. Indic scripts.
  20. Therefore these fonts primarily attempt to cover Unicode subsets that
  21. fit together with European scripts. This includes the Latin, Greek,
  22. Cyrillic, Armenian, Georgian, and Hebrew scripts, plus a lot of
  23. linguistic, technical and mathematical symbols. Some of the fixed
  24. fonts now also cover Arabic, Thai, Ethiopian, halfwidth Katakana, and
  25. some other non-European scripts.
  26. We have defined 3 different target character repertoires (ISO 10646-1
  27. subsets) that the various fonts were checked against for minimal
  28. guaranteed coverage:
  29. TARGET1 616 characters
  30. Covers all characters of ISO 8859 part 1-5,7-10,13-16,
  31. CEN MES-1, ISO 6937, Microsoft CP1251/CP1252, DEC VT100
  32. graphics symbols, and the replacement and default
  33. character. It is intended for small bold, italic, and
  34. proportional fonts, for which adding block graphics
  35. characters would make little sense. This repertoire
  36. covers the following ISO 10646-1:2000 collections
  37. completely: 1-3, 8, 12.
  38. TARGET2 885 characters
  39. Adds to TARGET1 the characters of the Adobe/Microsoft
  40. Windows Glyph List 4 (WGL4), plus a selected set of
  41. mathematical characters (covering most of ISO 31-11
  42. high-school level math symbols) and some combining
  43. characters. It is intended to be covered by all normal
  44. "fixed" fonts and covers all European IBM, Microsoft, and
  45. Macintosh character sets. This repertoire covers the
  46. following ISO 10646-1:2000 (including Amd 1:2002)
  47. collections completely: 1-3, 8, 12, 33, 45.
  48. TARGET3 3228 characters
  49. Adds to TARGET2 all characters of all European scripts
  50. (Latin, Greek, Cyrillic, Armenian, Georgian), all
  51. phonetic alphabet symbols, many mathematical symbols
  52. (including all those available in LaTeX), all typographic
  53. punctuation, all box-drawing characters, control code
  54. pictures, graphical shapes and some more that you would
  55. expect in a very comprehensive Unicode 3.2 font for
  56. European users. It is intended for some of the more
  57. useful and more widely used normal "fixed" fonts. This
  58. repertoire is a superset of all graphical characters in
  59. CEN MES-3A and covers the following ISO 10646-1:2000
  60. (including Amd 1:2002) collections completely: 1-12, 27,
  61. 30-31, 32 (only graphical characters), 33-42, 44-47, 63,
  62. 65, 70 (only graphical characters).
  63. CURRENT STATUS:
  64. 6x13.bdf 8x13.bdf 9x15.bdf 9x18.bdf 10x20.bdf:
  65. Complete (TARGET3 reached and checked)
  66. 5x7.bdf 5x8.bdf 6x9.bdf 6x10.bdf 6x12.bdf 7x13.bdf 7x14.bdf clR6x12.bdf:
  67. Complete (TARGET2 reached and checked)
  68. 6x13B.bdf 7x13B.bdf 7x14B.bdf 8x13B.bdf 9x15B.bdf 9x18B.bdf:
  69. Complete (TARGET1 reached and checked)
  70. 6x13O.bdf 7x13O.bdf 8x13O.bdf
  71. Complete (TARGET1 minus Hebrew and block graphics)
  72. The supplement package
  73. http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts-asian.tar.gz
  74. contains the following additional square fonts with Han characters for
  75. East Asian users:
  76. 12x13ja.bdf:
  77. Covers TARGET2, JIS X 0208, Hangul, and a few more. This font is
  78. primarily intended to provide Japanese full-width Hiragana,
  79. Katakana, and Kanji for applications that take the remaining
  80. ("halfwidth") characters from 6x13.bdf. The Greek lowercase
  81. characters in it are still a bit ugly and will need some work.
  82. 18x18ja.bdf:
  83. Covers all JIS X 0208, JIS X 0212, GB 2312-80, KS X 1001:1992,
  84. ISO 8859-1,2,3,4,5,7,9,10,15, CP437, CP850 and CP1252 characters,
  85. plus a few more, where priority was given to Japanese han style
  86. variants. This font should have everything needed to cover the
  87. full ISO-2022-JP-2 (RFC 1554) repertoire. This font is primarily
  88. intended to provide Japanese full-width Hiragana, Katakana, and
  89. Kanji for applications that take the remaining ("halfwidth")
  90. characters from 9x18.bdf.
  91. 18x18ko.bdf:
  92. Covers the same repertoire as 18x18ja plus full coverage of all
  93. Hangul syllables and priority was given to Hanja glyphs in the
  94. unified CJK area as they are used for writing Korean.
  95. The 9x18 and 6x12 fonts are recommended for use with overstriking
  96. combining characters.
  97. Bug reports, suggestions for improvement, and especially contributed
  98. extensions are very welcome!
  99. INSTALLATION
  100. ------------
  101. You install the fonts under Unix roughly like this (details depending
  102. on your system of course):
  103. System-wide installation (root access required):
  104. cd submission/
  105. make
  106. su
  107. mv -b *.pcf.gz /usr/lib/X11/fonts/misc/
  108. cd /usr/lib/X11/fonts/misc/
  109. mkfontdir
  110. xset fp rehash
  111. Alternative: Installation in your private user directory:
  112. cd submission/
  113. make
  114. mkdir -p ~/local/lib/X11/fonts/
  115. mv *.pcf.gz ~/local/lib/X11/fonts/
  116. cd ~/local/lib/X11/fonts/
  117. mkfontdir
  118. xset +fp ~/local/lib/X11/fonts (put this last line also in ~/.xinitrc)
  119. Now you can have a look at say the 6x13 font with the command
  120. xfd -fn '-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1'
  121. If you want to have short names for the Unicode fonts, you can also
  122. append the fonts.alias file to that in the directory where you install
  123. the fonts, call "mkfontdir" and "xset fp rehash" again, and then you
  124. can also write
  125. xfd -fn 6x13U
  126. Note: If you use an old version of xfontsel, you might notice that it
  127. treats every font that contains characters >0x00ff as a Japanese JIS
  128. font and therefore selects inappropriate sample characters for display
  129. of ISO 10646-1 fonts. An updated xfontsel version with this bug fixed
  130. comes with XFree86 4.0 or newer.
  131. If you use the Exceed X server on Microsoft Windows, then you will
  132. have to convert the BDF files into Microsoft FON files using the
  133. "Compile Fonts" function of Exceed xconfig. See the file exceed.txt
  134. for more information.
  135. There is one significant efficiency problem that X11R6 has with the
  136. sparsely populated ISO10646-1 fonts. X11 transmits and allocates 12
  137. bytes with the XFontStruct data structure for the difference between
  138. the lowest and the highest code value found in a font, no matter
  139. whether the code positions in between are used for characters or not.
  140. Even a tiny font that contains only two glyphs at positions 0x0000 and
  141. 0xfffd causes 12 bytes * 65534 codes = 786 kbytes to be requested and
  142. stored by the client. Since all the ISO10646-1 BDF files provided in
  143. this package contain characters in the U+00xx (ASCII) and U+ffxx
  144. (ligatures, etc.) range, all of them would result in 786 kbyte large
  145. XCharStruct arrays in the per_char array of the corresponding
  146. XFontStruct (even for CharCell fonts!) when loaded by an X client.
  147. Until this problem is fixed by extending the X11 font protocol and
  148. implementation, non-CJK ISO10646-1 fonts that lack the (anyway not
  149. very interesting) characters above U+31FF seem to be the best
  150. compromise. The bdftruncate.pl program in this package can be used to
  151. deactivate any glyphs above a threshold code value in BDF files. This
  152. way, we get relatively memory-economic ISO10646-1 fonts that cause
  153. "only" 150 kbyte large XCharStruct arrays to be allocated. The
  154. deactivated glyphs are still present in the BDF files, but with an
  155. encoding value of -1 that causes them to be ignored.
  156. The ISO10646-1 fonts can not only be used directly by Unicode aware
  157. software, they can also be used to create any 8-bit font. The
  158. ucs2any.pl Perl script converts a ISO10646-1 BDF font into a BDF font
  159. file with some different encoding. For instance the command
  160. perl ucs2any.pl 6x13.bdf MAPPINGS/8859-7.TXT ISO8859-7
  161. will generate the file 6x13-ISO8859-7.bdf according to the 8859-7.TXT
  162. Latin/Greek mapping table, which available from
  163. <ftp://ftp.unicode.org/Public/MAPPINGS/>. [The shell script
  164. ./map_fonts automatically generates a subdirectory derived-fonts/ with
  165. many *.bdf and *.pcf.gz 8-bit versions of all the
  166. -misc-fixed-*-iso10646-1 fonts.]
  167. When you do a "make" in the submission/ subdirectory as suggested in
  168. the installation instructions above, this will generate exactly the
  169. set of fonts that have been submitted to the XFree86 project for
  170. inclusion into XFree86 4.0. These consists of all the ISO10646-1 fonts
  171. processed with "bdftruncate.pl U+3200" plus a selected set of derived
  172. 8-bit fonts generated with ucs2any.pl.
  173. I recommend to play around with the UTF-8 editor Yudit. To use for
  174. example the 6x13 font with Yudit 1.5, you just have to select the
  175. settings
  176. Font=Misc Unicode
  177. Size=13
  178. Slant=Roman
  179. Spacing=CharCell
  180. Weight=Medium
  181. Add.Style=Any
  182. Avg.Width=60
  183. in the Font menu or in the ~/.yuditrc config file. Yudit is a nice
  184. text file editor with UTF-8 support, available from
  185. http://www.yudit.org/
  186. ftp://sunsite.unc.edu/pub/Linux/apps/editors/X/yudit-1.5.tar.gz
  187. You can also use these fonts with Emacs 20.6 or higher. For more
  188. information, see
  189. http://www.cs.ust.hk/faculty/otfried/Mule/
  190. Every font comes with a *.repertoire-utf8 file that lists all the
  191. characters in this font.
  192. CONTRIBUTING
  193. ------------
  194. If you want to help me in extending or improving the fonts, or if you
  195. want to start your own ISO 10646-1 font project, you will have to edit
  196. BDF font files. This is most comfortably done with the xmbdfed font
  197. editor (version 4.3 or higher), which is available from
  198. ftp://crl.nmsu.edu/CLR/multiling/General/
  199. Once you are familiar with xmbdfed, you will notice that it is no
  200. problem to design up to 100 nice characters per hour (even more if
  201. only placing accents is involved).
  202. Information about other X11 font tools and Unicode fonts for X11 in
  203. general can be found on
  204. http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html
  205. The latest version of this package is available from
  206. http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz
  207. If you want to contribute, then get the very latest version of this
  208. package, check which glyphs are still missing or inappropriate for
  209. your needs, and send me whatever you had the time to add and fix. Just
  210. email me the extended BDF-files back, or even better, send me a patch
  211. file of what you changed. The best way of preparing a patch file is
  212. ./touch_id newfile.bdf
  213. diff -d -u -F STARTCHAR oldfile.bdf newfile.bdf >file.diff
  214. which ensures that the patch file preserves information about which
  215. exact version you worked on and what character each "hunk" changes.
  216. I will try to update this packet on a daily basis. By sending me
  217. extensions to these fonts, you agree that the resulting improved font
  218. files will remain in the public domain for everyone's free use. Always
  219. make sure to load the very latest version of the package immediately
  220. before your start, and send me your results as soon as you are done,
  221. in order to avoid revision overlaps with other contributors.
  222. Please try to be careful with the glyphs you generate:
  223. - Always look first at existing similar characters in order to
  224. preserve a consistent look and feel for the entire font and
  225. within the font family. For block graphics characters and geometric
  226. symbols, take care of correct alignment.
  227. - Read issues.txt, which contains some design hints for certain
  228. characters.
  229. - All characters of CharCell (C) fonts must strictly fit into
  230. the pixel matrix and absolutely no out-of-box ink is allowed.
  231. - The character cells will be displayed directly next to each other,
  232. without any additional pixels in between. Therefore, always make
  233. sure that at least the rightmost pixel column remains white, as
  234. otherwise letters will stick together, except of course for
  235. characters -- like Arabic or block graphics -- that are supposed to
  236. stick together.
  237. - Place accents as low as possible on the Latin characters.
  238. - Try to keep the shape of accents consistent among each other and
  239. with the combining characters in the U+03xx range.
  240. - Use xmbdfed only to edit the BDF file directly and do not import
  241. the font that you want to edit from the X server. Use xmbdfed 4.3
  242. or higher.
  243. - The glyph names should be the Adobe names for Unicode characters
  244. <http://partners.adobe.com/asn/developer/typeforum/unicodegn.html>,
  245. as xmbdfed can set them automatically if it is configured
  246. with the location of the Adobe "glyphlist.txt" file in
  247. "adobe_name_file" in "~/.xmbdfed". For xmbdfed 4.5 and older, use
  248. <http://partners.adobe.com/asn/developer/type/glyphlist-old.txt>.
  249. - Be careful to not change the FONTBOUNDINGBOX box accidentally in
  250. a patch.
  251. You should have a copy of the ISO 10646 standard
  252. ISO/IEC 10646-1:2000, Information technology -- Universal
  253. Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture
  254. and Basic Multilingual Plane, International Organization for
  255. Standardization, Geneva, 2000.
  256. http://www.iso.ch/cate/d29819.html
  257. and/or the Unicode 3.0 book:
  258. The Unicode Consortium: The Unicode Standard, Version 3.0,
  259. Reading, MA, Addison-Wesley Developers Press, 2000,
  260. ISBN 0-201-61633-5.
  261. http://www.amazon.com/exec/obidos/ASIN/0201616335/mgk25
  262. All these fonts are from time to time resubmitted to the XFree86
  263. project (they have been in there since XFree86 4.0), X.Org, Sun, and
  264. to other X server developers for inclusion into their normal X11
  265. distributions.
  266. Starting with XFree86 4.0, xterm has included UTF-8 support. This
  267. version is also available from
  268. http://dickey.his.com/xterm/xterm.html
  269. Please make the developer of your favourite software aware of the
  270. UTF-8 definition in RFC 2279 and of the existence of this font
  271. collection. For more information on how to use UTF-8, please check out
  272. http://www.cl.cam.ac.uk/~mgk25/unicode.html
  273. ftp://ftp.ilog.fr/pub/Users/haible/utf8/Unicode-HOWTO.html
  274. where you will also find information on joining the
  275. linux-utf8@nl.linux.org mailing list.
  276. A number of UTF-8 example text files can be found in the examples/
  277. subdirectory or on
  278. http://www.cl.cam.ac.uk/~mgk25/ucs/examples/
  279. CONTRIBUTORS
  280. Robert Brady <rwb197@ecs.soton.ac.uk> and Birger Langkjer
  281. <birger.langkjer@image.dk> contributed thousands of glyphs and made
  282. very substantial contributions and improvements on almost all fonts.
  283. Constantine Stathopoulos <cstath@irismedia.gr> contributed all the
  284. Greek characters. Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk> did most 6x13
  285. glyphs and the italic fonts and provided many more glyphs,
  286. coordination, and quality assurance for the other fonts. Mark Leisher
  287. <mleisher@crl.nmsu.edu> contributed to 6x13 Armenian, Georgian, the
  288. first version of Latin Extended Block A and some Cyrillic. Serge V.
  289. Vakulenko <vak@crox.net.kiae.su> donated the original Cyrillic glyphs
  290. from his 6x13 ISO 8859-5 font. Nozomi Ytow <nozomi@biol.tsukuba.ac.jp>
  291. contributed 6x13 halfwidth Katakana. Henning Brunzel
  292. <hbrunzel@meta-systems.de> contributed glyphs to 10x20.bdf. Theppitak
  293. Karoonboonyanan <thep@linux.thai.net> contributed Thai for 7x13,
  294. 7x13B, 7x13O, 7x14, 7x14B, 8x13, 8x13B, 8x13O, 9x15, 9x15B, and 10x20.
  295. Karl Koehler <koehler@or.uni-bonn.de> contributed Arabic to 9x15,
  296. 9x15B, and 10x20 and Roozbeh Pournader <roozbeh@sharif.ac.ir> and
  297. Behdad Esfahbod revised and extended Arabic in 10x20. Raphael Finkel
  298. <raphael@cs.uky.edu> revised Hebrew/Yiddish in 10x20. Jungshik Shin
  299. <jshin@pantheon.yale.edu> prepared 18x18ko.bdf. Won-kyu Park
  300. <wkpark@chem.skku.ac.kr> prepared the Hangul glyphs used in 12x13ja.
  301. Janne V. Kujala <jvk@iki.fi> contributed 4x6. Daniel Yacob
  302. <perl@geez.org> revised some Ethiopic glyphs. Ted Zlatanov
  303. <tzz@lifelogs.com> did some 7x14. Thanks also to everyone who
  304. contributed additions to the UTF-8 example texts and to Bruno Haible
  305. <haible@ilog.fr> for valuable comments.
  306. The creation of these fonts would certainly not have been possible
  307. without Mark Leisher's wonderful xmbdfed software.
  308. Markus
  309. --
  310. Markus G. Kuhn, Computer Laboratory, University of Cambridge, England