1MAKEJVF(1) General Commands Manual MAKEJVF(1)
2
3
4
6 makejvf - Make Japanese VF file from Japanese TeX TFM file
7
9 makejvf [<options>] <TeX TFM file> <PS font TFM>
10
12 makejvf is a tool to generate Japanese VF file from Japanese TeX TFM
13 (JFM) file for use with dvips.
14
15 When processing Japanese texts, pTeX refers to JFM (min10.tfm, jis.tfm
16 etc.), which includes definitions of some different character widths
17 and metric glue/kerns. For most punctuations and quotation marks, the
18 character widths are truncated to less than 1 zw (zenkaku-width; the
19 width of ordinary Kanji characters), and metric glue/kerns are inserted
20 as a substitute.
21
22 On the other hand, in Japanese PS fonts, all punctuations and quotation
23 marks have the same character widths as ordinary Kanji characters. For
24 this reason, when dvips processes the resulting DVI, these characters
25 have to be shifted to the left by the amount of glue/kerns inserted.
26
27 To achieve this, Virtual fonts (VF) and PS TFM files are required; When
28 VF contains the commands of shifting characters, PS font TFM can have
29 the exact character widths of PS fonts.
30
31 The program makejvf can be used for this purpose. It inputs a pTeX JFM
32 file (refered to as <TeX TFM file> in SYNOPSIS above), and outputs a
33 corresponding VF file (with the same basename as <TeX TFM file>) and a
34 JFM file for a PS font JFM file (<PS font TFM> above).
35
37 -C Condensed ("Cho-tai") mode.
38
39 -K <PS-TFM>
40 Map Kana (more exactly, non-Kanji) characters to another PS
41 font JFM named <PS-TFM>.
42
43 -b <integer>
44 Base line shift amount; the integer represents a relative
45 value, using the character height as a base of 1000. When a
46 positive integer is specified, the characters are lowered.
47 When a negative integer is specified, the characters are
48 raised.
49
50 -m Replace single/double quotation marks (', '') with sin‐
51 gle/double prime quotation marks (so-called "minute") in ver‐
52 tical writing. The replacement is realized by manipulating
53 glyphs of prime and double prime (JIS 0x216C and 0x216D; Uni‐
54 code U+2032 and U+2033), not by putting actual glyphs de‐
55 signed for quotation marks (Unicode U+301D and
56 U+301E/U+301F).
57
58 -a <AFMfile>
59 Name of the input AFM file used for Kana-tsume mode. This
60 option is unsupported.
61
62 -k <integer>
63 Kana-tsume (narrower spaces between Kana characters) margin
64 amount; the integer represents a relative value, using the
65 character width as a base of 1000. This option should be ac‐
66 companied with -a option. This option is unsupported.
67
68 -i Start mapped font ID from No. 0 in output VF (by default,
69 makejvf defaults to No. 1).
70
71 -e Enhanced mode; the horizontal shift amount is determined from
72 the glue/kern table of input JFM file.
73
74 By default, makejvf uses the hard-coded value as the horizontal shift
75 amount, which is (mostly) optimized for Japanese fonts. When enhanced
76 mode (option -e) is enabled, the shift amount is determined from the
77 input pTeX TFM (JFM) file, which is likely to output most suitable VF
78 for the JFM.
79
80 For most standard Japanese JFM (like jis.tfm and its derivatives), the
81 output VFs from both modes will have no significant difference. For
82 simplified/traditional Chinese JFM (like upschrm-h.tfm and uptchrm-
83 h.tfm), the output VF from enhanced mode will be better. For min10.tfm
84 and its derivatives, enhanced mode should never be enabled, since the
85 characterization in min10.tfm is non-standard.
86
87 -t <CNFfile>
88 Use <CNFfile> as a configuration file.
89
90 -O Omit entries in VF for characters with default metric. This
91 option is not allowed to be used with the option -t.
92
93 -u <Charset>
94 UCS mode. Available charsets are: gb (GB = Simplified Chi‐
95 nese), cns (CNS = Traditional Chinese), ks (KS = Korean), jis
96 (JIS = Japanese), jisq (JIS quote only), custom (user-defined
97 CHARSET from <CNFfile>; see CONFIGURATION FILE FORMAT sec‐
98 tion).
99
100 Options below are effective only in UCS mode:
101
102 -J <PS-TFM>
103 Map single/double quote to another JIS-encoded PSfont TFM.
104
105 -U <PS-TFM>
106 Map single/double quote to another UCS-encoded PSfont TFM.
107
108 -3 Use set3, that is, enable non-BMP characters support (with
109 UCS mode). By default makejvf does not output >=U+10000, to
110 reduce file size and to avoid problems with old DVI drivers.
111 Recent versions of dvipdfmx and others can handle VF with
112 >=U+10000 (= set3 in DVI language), therefore -3 might be
113 helpful.
114
115 -H Use half-width Katakana.
116
118 If you want to use min10 as Ryumin-Light-H, run
119 makejvf min10.tfm rml
120
121 This generates min10.vf and rml.tfm. Put these files in an appropriate
122 directory under TEXMF tree, and add the following line to psfonts.map.
123 rml Ryumin-Light-H
124
126 With -t option, you can give makejvf a custom settings for generating
127 VF. The syntax is:
128
129 % comment line
130 MOVE <code> <right> <down>
131
132 REPLACE <code> <new code>
133 CHARSET <code>,<code>,<code>..<code>,<code>,
134 + <code>,<code>..<code>
135
136
137 Each line should begin with a command, and should be TAB-separated.
138 Line starting with % is a comment, and empty lines are ignored.
139
140 The MOVE command specifies horizontal/vertical shift amount for the in‐
141 dividual character <code>. The REPLACE command replaces the character
142 <code> with <new code>. The CHARSET command sets the custom character
143 set of output VF; the + character continues from the previous line.
144
145 An example usage can be found in uptex-fonts project. See GitHub repos‐
146 itory
147 <https://github.com/texjporg/uptex-fonts>.
148
150 More detailed description of makejvf in Japanese is available at
151 $TEXMFDIST/doc/fonts/ptex-fonts/README_makejvf
152
154 This manual page was written by Japanese TeX Development Community
155 <https://texjp.org>. For more information, see GitHub repository
156 <https://github.com/texjporg/ptex-fonts>.
157
158 Many thanks to Atsuhito KOHDA <kohda@debian.org>, for providing another
159 manpage in Debian GNU/Linux system.
160
161
162
163 MAKEJVF(1)