Open Development of Open Font — Revaluation and Ap- Plication of Wada-Lab Font Kit
Total Page:16
File Type:pdf, Size:1020Kb
Kyoto University 21st Century COE Program Open development of open font — Revaluation and ap- plication of Wada-lab Font Kit Kazuhiko1) and Kanou Hiroki2) Abstract As the importance of free desktop environment by open source softwares getting larger, the importance of open fonts also become larger. We first describe the condition of open fonts in Japan and then explore the effective way of making huge amount of Kanji glyphs. Keywords: open font, font development, font composition, Wadalab Font Kit 1 Introduction 1.3 Open Font Today 1.1 Open Font Definition We have many open fonts for Latin (eg. URW, Bitstream Vera). And we have some open fonts for There are many fonts that we can use free-of- Chinese and Korean (eg. Arphic, Wang, Baekmuk). charge. But what we need is not free as in ‘free But we have few open fonts for Japanese. beer’ but as in ‘free speech’, i.e. what we call ‘Open We formerly had quality open fonts whose names Font’ in this article. were Kochi fonts. Kochi fonts based on a free True- The definition of ‘Open Font’ should be just like Type font that was auto-converted from a 32dot ‘Open Source Definition??’. bitmap font that was knows as ‘free’ at the time. • free redistribution And the author of Kochi fonts released them as pub- lic domain fonts. • source code But on June 15th 2003, it was revealed that the • derived works 32dot bitmap font that is a origin of Kochi fonts is illegally stolen. So we asked to cancel distribu- • no discrimination against persons/groups tion of these fonts and then we negotiated with its • no discrimination against fields of endeavour copyright holders for several times. As the result of negotiation, they offered a ‘free-of-charge’ license. • distribution of license But the author of Kochi fonts rejected their offer, • license must not be specific to a product and the development was cancelled. • license must not restrict other software 1.4 Next Generation Font Development 1.2 Why is Open Font needed? Since we have lost quality Japanese open fonts, we need their ‘alternatives’ soon. Therefore develop- Under the licence mentioned above, the freedom ment speed is a first priority. But quality is second of of modification is guaranteed. We need to modify course. For the rapid and efficient development, we fonts to follow the changes, eg. CCS/CES (Shift- tried revaluation and application of Wadalab Font JIS ⇒ Unicode ⇒ ?), format (TTF ⇒ OpenType), Kit that was the automated glyph composer. design trends (line-oriented ⇒ curve-oriented) etc. The freedom of usage is also guaranteed by open fonts. Of course we need the freedom of usage for 2 Revaluation of Wadalab Font Kit our freedom of speech. 2.1 Overview of Wadalab Font Project And the freedom of distribution is also important to exchange documents. When we can distribute Wadalab (‘Wada-ken’ in Japanese) Font is a one of fonts with documents, we can achieve yet another the most successful attempt in the automated kanji WISIWYG — What I See Is What You Get. (CJK ideographs) glyph generation. It was devel- 1)http://www.fdiary.net/ mailto:[email protected] oped from April 1990 until March 1994 by Kanji 2)http://khdd.net/kanou/ mailto:[email protected] Development Branch of Wada Laboratory, Faculty of Engineering, the University of Tokyo. Original This algorithm make possible automatic kerning distribution of the font have four typefaces of JIS X of components for vertical and horizontal combina- 0208-1990 (includes 6355 kanjis) and two of JIS X tion of the components. For a nested combination, 0212-1990 (includes 5801 supplementary kanjis) and the initial position of the bounding boxes of sur- total number of kanji glyphs exceeds 37,000. rounded components are defined in the surround- At the time they published the result of the re- ing component by the designer. Balancing engine search, a set of generated font was released. The performs repetitive computation to maximize inner Wadalab Font was the only available open Japanese components around the initial positions. The com- font in the late 1990s and they are widely used on ponents are scaled by liniar transform after their non-commercial operationg systems and commercial relative sizes are settled. Detailed processes are de- Unices together with TeX and Ghostscript, even scribed in two papers [2] and [3]. though the font was a demonstration of the experi- ment and not tuned nor fixed by hand at all. 2.3 Outline of the Wadalab Font Kit 2.2 Technical Overview Wadalab Font Kit?? is the glyph generator of Wadalab Font and written in UtiLisp, a dialect of Developers of Wadalab Font had an anbitious goal Lisp widely used through 1980s in Japan. Renderers that a user, who adds a character by describing have about 7,500 lines (comments and empty lines the combination of predefined parts, need no aes- not included) and graphical skeleton editor have thetic judgment and all issues on balancing com- 6,700 lines. Additionally, 12,700 glyph definitions ponents are processed automatically by the system. and 2,600 master skeletons of primitive components The same policy is adopted in the realization of the (including non-kanji) is needed to build the Font. outlines from the skeletons of glyphs. Only func- The Kit was not publicly available because it was tion to calculate outlines is defined for each type of thought that very few people have interest in design- elemtents of strokes and one function handles dif- ing fonts and the system was not so user-friendly. ferent sizes, aspect ratios, and slopes consistently. But the retraction of Kochi Font raised public inter- A set of function can also be tunable in the stroke est in digital typography, so Dr. Tetsurou Tanaka, width but different style of typefaces have differ- who built the core of Wadalab Font Kit decided to ent sets of rendering functions. Currently three release it just after the incident. styles—‘mincho’ (serifed), ‘kaku-gothic’ (sans serif Nonetheless the design quality of machine gener- with square strokes) and ‘maru-gothic’ (sans with ated glyphs are not so good, the basic algorithms rounded strokes)—are defined. they developed have a large generality and the sys- The process of outline generation is divided in tem have very high flexibility enough to implement three stages: additional ideas. The quality of specific glyphs is essential for the quality of generated skeletons and • exapnding abstract definition to the concrete concrete shape of strokes can easily spoil the bal- coordinates of the skeleton anced skeleton. That was partly because GUI of • calculating center lines from skeleton and ex- the glyph editor was too slow to use them interac- tending to the stroke tively and they had no advisor of professional typog- rapher. We believe if they had better enviroment, • processing joins of elements and generating ser- they accomplished much better glyph designs. ifs at the end of elements. Balancing of components with different complex- 2.4 Past Development ity is handled by two strategies: At June 15th 2003, we need to supply a pair of • displacing stems uniformly as far as possible provisional font which substitute the original two typefaces of Kochi Font. Priority was given to (1) • ensuring the minimum distances of strokes for clearness of the source of the glyphs, (2) rapid re- each pair of type of elements. lease, (3) compatibility. In this time, the Font 106 Kit was not referred and commonly used glyphs of oriented approach more extensively. On this point, Wadalab Font in past was used. The tasks were we must have many things to learn from the teaching shared by many peaple. Compilation of glyphs by approach used in KAGE. Improvement of skeleton Mr. Akagaki (Momonga Project), preparation of editor is also anticipated. This is not necessarily script to replace the glyphs depending on 32dot porting of original implementation. Alternatively, bitmaps by Kanou, registration to sourceforge.jp it is possible to add a feature to edit skeleton to an and other coordination by Kazuhiko, and so on. existing font editor. First version of substitute font was released at We think that migration from a calculation- evening of June 18th. Scripting language of PfaEdit oriented approach to an example-oriented approach font editor?? was used to replace glyphs to clarify will derive better appearance of for two reasons. the operations what we applied to the original Kochi Giving multiple master patterns allows us to differ- Font and to make the operation repeatable by ev- ent proportions in different aspect ratio. For exam- eryone. ple, while horizontal bar in 十 (ideographic number The second stage was porting of the Kit to current ten) is set on optical center (slightly above the ge- environment for revaluation and compilation. X11 ometrical center), when if it is used in right part interface code in UtiLisp/C was modified to oper- of a glyph (the cases of 汁/什/計/針) the horizontal ate the skeleton editor. Then several miscomposed bar is appearently raised from the center. When the glyphs were redefined and a few bugs in rendering part comes in left (協/博), this component has nar- code were fixed. Most of the bugs were in geomet- rower width and higher horizontal bar. Similarly, rical construction of outlines. For example, in case algorithms used in outline generation has difficul- two auxilary lines are aligned nearly parallel direc- ties to meet all sizes and thickness of the same type. tions, the crossing points go far unexpedtedly and This makes the customization very difficult other the resulting glyph is totally broken. Procedures for than a skilled programmer with a excellent sense of anomalistic cases are added to make acceptable ar- beauty.