{
    "mode": "man",
    "parameter": "makejvf",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/makejvf/1/json",
    "generated": "2026-09-06T11:33:13Z",
    "synopsis": "makejvf [<options>] <TeX TFM file> <PS font TFM>",
    "sections": {
        "NAME": {
            "content": "makejvf - Make Japanese VF file from Japanese TeX TFM file\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "makejvf [<options>] <TeX TFM file> <PS font TFM>\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "makejvf  is a tool to generate Japanese VF file from Japanese TeX TFM (JFM) file for use with\ndvips.\n\nWhen processing Japanese texts, pTeX refers to JFM (min10.tfm, jis.tfm etc.), which includes\ndefinitions of some different character widths and metric glue/kerns. For most punctuations\nand quotation marks, the character widths are truncated to less than 1 zw (zenkaku-width; the\nwidth of ordinary Kanji characters), and metric glue/kerns are inserted as a substitute.\n\nOn the other hand, in Japanese PS fonts, all punctuations and quotation marks have the same\ncharacter widths as ordinary Kanji characters. For this reason, when dvips processes the re‐\nsulting DVI, these characters have to be shifted to the left by the amount of glue/kerns in‐\nserted.\n\nTo achieve this, Virtual fonts (VF) and PS TFM files are required; When VF contains the com‐\nmands of shifting characters, PS font TFM can have the exact character widths of PS fonts.\n\nThe program makejvf can be used for this purpose. It inputs a pTeX JFM file (referred to as\n<TeX TFM file> in SYNOPSIS above), and outputs a corresponding VF file (with the same base‐\nname as <TeX TFM file>) and a JFM file for a PS font JFM file (<PS font TFM> above).\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-C",
                    "content": "",
                    "flag": "-C"
                },
                {
                    "name": "-K",
                    "content": "Map Kana (more exactly, non-Kanji) characters to another PS  font  JFM  named  <PS-\nTFM>.\n",
                    "flag": "-K"
                },
                {
                    "name": "-b",
                    "content": "Base  line shift amount; the integer represents a relative value, using the charac‐\nter height as a base of 1000.  When a positive integer is specified, the characters\nare lowered.  When a negative integer is specified, the characters are raised.\n",
                    "flag": "-b"
                },
                {
                    "name": "-m",
                    "content": "marks (so-called \"minute\") in vertical writing.  The replacement is realized by ma‐\nnipulating  glyphs of prime and double prime (JIS 0x216C and 0x216D; Unicode U+2032\nand U+2033), not by putting actual glyphs designed  for  quotation  marks  (Unicode\nU+301D and U+301E/U+301F).\n",
                    "flag": "-m"
                },
                {
                    "name": "-a",
                    "content": "Name of the input AFM file used for Kana-tsume mode.  This option is unsupported.\n",
                    "flag": "-a"
                },
                {
                    "name": "-k",
                    "content": "Kana-tsume  (narrower  spaces  between  Kana characters) margin amount; the integer\nrepresents a relative value, using the character width as a base of 1000. This  op‐\ntion should be accompanied with -a option.  This option is unsupported.\n",
                    "flag": "-k"
                },
                {
                    "name": "-i",
                    "content": "1).\n",
                    "flag": "-i"
                },
                {
                    "name": "-e",
                    "content": "of input JFM file.\n\nBy default, makejvf uses the hard-coded value as the horizontal shift amount, which is\n(mostly) optimized for Japanese fonts. When enhanced mode (option -e) is enabled, the shift\namount is determined from the input pTeX TFM (JFM) file, which is likely to output most suit‐\nable VF for the JFM.\n\nFor most standard Japanese JFM (like jis.tfm and its derivatives), the output VFs from both\nmodes will have no significant difference. For simplified/traditional Chinese JFM (like up‐\nschrm-h.tfm and uptchrm-h.tfm), the output VF from enhanced mode will be better. For\nmin10.tfm and its derivatives, enhanced mode should never be enabled, since the characteriza‐\ntion in min10.tfm is non-standard.\n",
                    "flag": "-e"
                },
                {
                    "name": "-t",
                    "content": "Use <CNFfile> as a configuration file.\n",
                    "flag": "-t"
                },
                {
                    "name": "-O",
                    "content": "to be used with the option -t.\n",
                    "flag": "-O"
                },
                {
                    "name": "-u",
                    "content": "UCS mode. Available charsets are: gb (GB = Simplified Chinese), cns (CNS  =  Tradi‐\ntional  Chinese),  ks  (KS  = Korean), jis (JIS = Japanese), jisq (JIS quote only),\ncustom (user-defined CHARSET from <CNFfile>; see  CONFIGURATION  FILE  FORMAT  sec‐\ntion).\n\nOptions below are effective only in UCS mode:\n",
                    "flag": "-u"
                },
                {
                    "name": "-J",
                    "content": "Map single/double quote to another JIS-encoded PSfont TFM.\n",
                    "flag": "-J"
                },
                {
                    "name": "-U",
                    "content": "Map single/double quote to another UCS-encoded PSfont TFM.\n",
                    "flag": "-U"
                },
                {
                    "name": "-3",
                    "content": "makejvf does not output >=U+10000, to reduce file size and to avoid  problems  with\nold  DVI  drivers.  Recent  versions  of  dvipdfmx  and  others  can handle VF with\n>=U+10000 (= set3 in DVI language), therefore -3 might be helpful.\n",
                    "flag": "-3"
                },
                {
                    "name": "-H",
                    "content": "",
                    "flag": "-H"
                }
            ]
        },
        "EXAMPLE": {
            "content": "If you want to use min10 as Ryumin-Light-H, run\nmakejvf min10.tfm rml\n\nThis generates min10.vf and rml.tfm. Put these files in an appropriate directory under TEXMF\ntree, and add the following line to psfonts.map.\nrml Ryumin-Light-H\n",
            "subsections": []
        },
        "CONFIGURATION FILE FORMAT": {
            "content": "With -t option, you can give makejvf a custom settings for generating VF. The syntax is:\n\n% comment line\nMOVE <code>    <right>   <down>\n\nREPLACE   <code>    <new code>\nCHARSET   <code>,<code>,<code>..<code>,<code>,\n+    <code>,<code>..<code>\n\n\nEach line should begin with a command, and should be TAB-separated. Line starting with % is a\ncomment, and empty lines are ignored.\n\nThe MOVE command specifies horizontal/vertical shift amount for the individual character\n<code>. The REPLACE command replaces the character <code> with <new code>. The CHARSET com‐\nmand sets the custom character set of output VF; the + character continues from the previous\nline.\n\nAn example usage can be found in uptex-fonts project. See GitHub repository\n<https://github.com/texjporg/uptex-fonts>.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "More detailed description of makejvf in Japanese is available at\n$TEXMFDIST/doc/fonts/ptex-fonts/READMEmakejvf\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "This manual page was written by Japanese TeX Development Community  <https://texjp.org>.  For\nmore information, see GitHub repository <https://github.com/texjporg/ptex-fonts>.\n\nMany thanks to Atsuhito KOHDA <kohda@debian.org>, for providing another manpage in Debian\nGNU/Linux system.\n\nMAKEJVF(1)",
            "subsections": []
        }
    },
    "summary": "makejvf - Make Japanese VF file from Japanese TeX TFM file",
    "flags": [
        {
            "flag": "-C",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-K",
            "long": null,
            "arg": null,
            "description": "Map Kana (more exactly, non-Kanji) characters to another PS font JFM named <PS- TFM>."
        },
        {
            "flag": "-b",
            "long": null,
            "arg": null,
            "description": "Base line shift amount; the integer represents a relative value, using the charac‐ ter height as a base of 1000. When a positive integer is specified, the characters are lowered. When a negative integer is specified, the characters are raised."
        },
        {
            "flag": "-m",
            "long": null,
            "arg": null,
            "description": "marks (so-called \"minute\") in vertical writing. The replacement is realized by ma‐ nipulating glyphs of prime and double prime (JIS 0x216C and 0x216D; Unicode U+2032 and U+2033), not by putting actual glyphs designed for quotation marks (Unicode U+301D and U+301E/U+301F)."
        },
        {
            "flag": "-a",
            "long": null,
            "arg": null,
            "description": "Name of the input AFM file used for Kana-tsume mode. This option is unsupported."
        },
        {
            "flag": "-k",
            "long": null,
            "arg": null,
            "description": "Kana-tsume (narrower spaces between Kana characters) margin amount; the integer represents a relative value, using the character width as a base of 1000. This op‐ tion should be accompanied with -a option. This option is unsupported."
        },
        {
            "flag": "-i",
            "long": null,
            "arg": null,
            "description": "1)."
        },
        {
            "flag": "-e",
            "long": null,
            "arg": null,
            "description": "of input JFM file. By default, makejvf uses the hard-coded value as the horizontal shift amount, which is (mostly) optimized for Japanese fonts. When enhanced mode (option -e) is enabled, the shift amount is determined from the input pTeX TFM (JFM) file, which is likely to output most suit‐ able VF for the JFM. For most standard Japanese JFM (like jis.tfm and its derivatives), the output VFs from both modes will have no significant difference. For simplified/traditional Chinese JFM (like up‐ schrm-h.tfm and uptchrm-h.tfm), the output VF from enhanced mode will be better. For min10.tfm and its derivatives, enhanced mode should never be enabled, since the characteriza‐ tion in min10.tfm is non-standard."
        },
        {
            "flag": "-t",
            "long": null,
            "arg": null,
            "description": "Use <CNFfile> as a configuration file."
        },
        {
            "flag": "-O",
            "long": null,
            "arg": null,
            "description": "to be used with the option -t."
        },
        {
            "flag": "-u",
            "long": null,
            "arg": null,
            "description": "UCS mode. Available charsets are: gb (GB = Simplified Chinese), cns (CNS = Tradi‐ tional Chinese), ks (KS = Korean), jis (JIS = Japanese), jisq (JIS quote only), custom (user-defined CHARSET from <CNFfile>; see CONFIGURATION FILE FORMAT sec‐ tion). Options below are effective only in UCS mode:"
        },
        {
            "flag": "-J",
            "long": null,
            "arg": null,
            "description": "Map single/double quote to another JIS-encoded PSfont TFM."
        },
        {
            "flag": "-U",
            "long": null,
            "arg": null,
            "description": "Map single/double quote to another UCS-encoded PSfont TFM."
        },
        {
            "flag": "-3",
            "long": null,
            "arg": null,
            "description": "makejvf does not output >=U+10000, to reduce file size and to avoid problems with old DVI drivers. Recent versions of dvipdfmx and others can handle VF with >=U+10000 (= set3 in DVI language), therefore -3 might be helpful."
        },
        {
            "flag": "-H",
            "long": null,
            "arg": null,
            "description": ""
        }
    ],
    "examples": [
        "If you want to use min10 as Ryumin-Light-H, run",
        "makejvf min10.tfm rml",
        "This generates min10.vf and rml.tfm. Put these files in an appropriate directory under TEXMF",
        "tree, and add the following line to psfonts.map.",
        "rml Ryumin-Light-H"
    ],
    "see_also": []
}