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