[ Title ]
japanese-otf-uptex Ver.0.28  2022/02/23


[ Abstract ]
This package provides upLaTeX support of
japanese-otf package "otfbeta (v1.7b8 2019/04/01)" by psitau-san
( http://psitau.kitunebi.com/otf.html )


[ Contents ]
00otf-uptex.txt : this file
umakeotf : script to make vf, tfm
umakeotf_brsg : script to make vf, tfm for burasage option
umakeotf_jis04 : script to make vf, tfm for jis2004 option
umakeotf_prop : script to make vf, tfm for proportional kana
umakeotf_pre : preparation script for umakeotf*
umkjvf : mkjvf with unicode support

basepl/ubase-h.pl : unicode version of base-h.pl
basepl/ubase-v.pl : unicode version of base-v.pl
basepl/ubrsg-h.pl : unicode version of brsg-h.pl
basepl/ubrsg-v.pl : unicode version of brsg-v.pl
basepl/ubase-sch-h.pl : base pl for simplified Chinese horizontal writing
basepl/ubase-sch-v.pl : base pl for simplified Chinese vertical writing
basepl/ubase-tch-h.pl : base pl for traditional Chinese horizontal writing
basepl/ubase-tch-v.pl : base pl for traditional Chinese vertical writing
basepl/ubase-kor-h.pl : base pl for Korean horizontal writing
basepl/ubase-kor-v.pl : base pl for Korean vertical writing
basepl/mjvf-upnmsch.cnf : makejvf configuration for simplified Chinese, full entry
basepl/mjvf-upnmtch.cnf : makejvf configuration for traditional Chinese, full entry
basepl/mjvf-upnmkor.cnf : makejvf configuration for Korean, full entry
basepl/mjvf-upnmsch-slim.cnf : makejvf configuration for simplified Chinese, minimum entry
basepl/mjvf-upnmtch-slim.cnf : makejvf configuration for traditional Chinese, minimum entry
basepl/mjvf-upnmkor-slim.cnf : makejvf configuration for Korean, minimum entry

script/mkutf32list.pl : perl script making lists of characters on supplementary planes
script/MakeSPList.pm : perl module making data of characters on supplementary planes
script/mktfm_sp.pl   : perl script making tfm for characters on supplementary planes
script/mkutfvf_sp.pl : perl script making vf for characters on supplementary planes
script/sp_list_j.txt : a list of characters on supplementary planes in UniJIS-UTF32
script/sp_list_c.txt : a list of characters on supplementary planes in UniGB-UTF32
script/sp_list_t.txt : a list of characters on supplementary planes in UniCNS-UTF32
script/sp_list_k.txt : a list of characters on supplementary planes in UniKS-UTF32
script/CheckDVICode.pm : perl module checking category of characters
script/umkpkana.pl   : perl script making pl, ovp for proportional kana
script/umkvpkana.pl  : perl script making pl, ovp for proportional kana

sty/otf.sty   : basic style file
sty/mlutf.sty : style file for multi option

test/uplatex/* : test samples.

COPYRIGHT : copyright notice of this package.


[ Status ]
Beta version.


[ To Build ]
## From source files
The source distribution of japanese-otf-uptex does not contain tfm, vf files.
To ganerate them, uppltotf and ovp2ovf (TeX Live r43143 or later) are required and
we run scripts as follows:
 $ ./umakeotf
 $ ./umakeotf_brsg
 $ ./umakeotf_jis04
 $ ./umakeotf_prop

## CTAN distribution
The CTAN distribution contains tfm, vf files.


[ About jis2004 option ]
otfbeta-uptex (japanese-otf-uptex) Ver.0.12 or later supports
combination of "jis2004" and "uplatex" option.
If you run the script "umakeotf_jis04", tfm and vf for jis2004 will be generated.
They cousumes about 36.1 Mbytes in total.
You will get expected results by mapping the new fonts
  up{,brsg}{nml,exp}{minr,gothr,minb,gothb,mgothr,minl,gotheb}n-{h,v}.tfm
to Adobe standard CMap "UniJIS2004-UTF16-{H,V}".

If you do not use "jis2004" option, you can delete tfm and vf:
  up{,brsg}{nml,exp}{minr,gothr,minb,gothb,mgothr,minl,gotheb}n-{h,v}.{tfm,vf}

Instead of using "jis2004" option,
you can get same result by mapping conventional fonts
  up{,brsg}{nml,exp}{minr,gothr,minb,gothb,mgothr,minl,gotheb}-{h,v}.tfm
to Adobe standard CMap "UniJIS2004-UTF16-{H,V}".


[ About proportional kana ]
otfbeta-uptex (japanese-otf-uptex) Ver.0.14 or later supports
proportional kana at deluxe option and \propshape.
To build tfm files, uppltotf in TeX Live r43143 or TeX Live 2017 or later is required.


[ About shrunk file size of virtual fonts ]
japanese-otf-uptex Ver.0.26 has shrunk file size of some virtual fonts for main text.
The virtual fonts listed below are smaller in file size than conventional ones.
  upexp*.vf
  upbrsg*.vf
  upruby*.vf
  upphira*.vf
These are used by selecting options "expert", "brsg", "ruby", etc. of otf.sty.
The feature requires new dviware which support fall back of CJK virtual fonts:
  dvipdfmx (version 20200315 (2020/3/15) or later)
  dvips    (TeX Live subversion r54794 (2020/4/19) or later)
Ref. https://github.com/texjporg/tex-jp-build/issues/99

If you do not wish this feature, you can avoid by regenerating virtual fonts
after removing "-omitfw" option of umkjvf
in the font generation scripts umakeotf{,_brsg,_jis04,_prop}.
 $ ./umakeotf
 $ ./umakeotf_brsg
 $ ./umakeotf_jis04
 $ ./umakeotf_prop
Ref. https://github.com/t-tk/japanese-otf-uptex/issues/3


[ About Unicode base multi-weight fonts ]
japanese-otf-uptex Ver.0.26 has introduced new virtual fonts for
\UTF{}, \UTFC{}, \UTFT{}, \UTFK{} macros. They are Unicode base
(conventionally subfont scheme) and support multi-weight fonts
(seven sets of family/series for all languages,
conventionally two sets of family/series for Chinese and Korean).
The feature also requires new dviware which support fall back of CJK virtual fonts.
  明朝体・細字　　  \mcfamily\ltseries  ml
  明朝体・中字　　  \mcfamily\mdseries  mr
  明朝体・太字　　  \mcfamily\bfseries  mb
  ゴシック体・中字  \gtfamily\mdseries  gr
  ゴシック体・太字  \gtfamily\bfseries  gb
  ゴシック体・極太  \gtfamily\ebseries  ge
  丸ゴシック体　　  \mgfamily           mgr
Ref. https://github.com/t-tk/japanese-otf-uptex/issues/4

japanese-otf-uptex Ver.0.27 has introduced new virtual fonts for
Chinese/Korean plain texts to support multi-weight fonts.
They have not been registered in otf.sty nor mlutf.sty yet.
I hope they will be supported by other extentional macros.
Ref. https://github.com/t-tk/japanese-otf-uptex/issues/7
https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2828


[ Repository ]
japanese-otf-uptex is maintained on GitHub:
https://github.com/t-tk/japanese-otf-uptex


[ History ]
2007.12.09 Ver0.00
  Initial version.
  for "otfstable (v1.2.9 2007/3/19)"
2008.01.12 Ver0.01
  umakeotf
    Revise: for upTeX-0.20
  umkjvf::
    Bug fix: Ruby glyphs, horizontally- and vertically optimized kana glyphs.
    Revise: for upTeX-0.20
  ubase-h.pl::
    Insert glue between halfwidth kana and others at horizontal writing.
  test/uplatex::
    Revise.
2008.10.01 Ver0.02
  re-packaged for upTeX-0.24
  tfm/*.tfm, vf/*.vf::
    Delete
  patch/*.patch::
    Include
2008.11.08 Ver0.03
  Revise: for upTeX-0.25
  umkjvf::
    Add: Ruby glyphs, horizontally- and vertically optimized kana glyphs
      in JIS X 0213 (ainu kana, etc.)
  fontmap/*::
    Revise.
  test/uplatex/*::
    Revise.
  patch/*.patch::
    Revise.
2009.08.01 Ver0.04
  Revise: for upTeX-0.28
  umkjvf::
    Bug fix: SIP option did not work
    Revise: help message
2010.03.28 Ver0.05
  Revise: for "otfstable (v1.2.9.2 2010/3/26)", upTeX-0.30
  umkjvf::
    Revise: It may work with C-version ovp2ovf, opl2ofm
  patch/*.patch::
    Revise.
  sty/*::
    Removed.
2010.05.xx Ver0.06
  Test only. Not released.
2012.01.02 Ver0.07
  Revise: for "otfbeta (v1.7b3 2011/10/28)", upTeX in TeXLive svn r24922
  umkjvf::
    Revise: Based on "mkjvf version 1.0b21 (2010/3/25)"
    Revise: use ovp2ovf (WEB version) in TeXLive svn r24922 for SIP
    Bug fix: pTeX mode was not compatible with mkjvf for ruby.
  umakeotf
    Revise: Minor update about "mkdir tfm"
  fontmap/*::
    Revise.
  patch/*.patch::
    Revise.
  COPYRIGHT::
    Add.
2012.01.22 Ver0.08
  ## Thank Kitagawa san and Norbert san for helpful bug reports.
  umkjvf::
    Add: option '-ovp2ovf' and '-dbg'.
    Revise: hankaku kana in ucs mode base font.
    Support ovp2ovf (C version) in TeXLive svn r24887 for BMP.
    Bug fix: combination of '-cp' and '-ucs'.
  umakeotf::
    Bug fix: up{exp,ruby}mgothr-{h,v}.vf was broken.
    Revise: do not use '-chk' for hankaku kana in ucs mode base font.
  basepl/ubase-{h,v}.pl::
    Convert from ISO-2022-JP to UTF-8.
    Add U+2014 as Type 5.
    Revise hankaku kana.
  test/uplatex/uotftest-utf8.tex::
    Revise.
2012.02.18 Ver0.09
  For "otfbeta (v1.7b4 2012/01/22)", upTeX in TeXLive svn r24922
  Enhance: support characters on supplementary planes (SP) in ucs mode base fonts
    and those in macros \UTF{}, \UTFC{}, \UTFT{}, and \UTFM{}.
    Not only upLaTeX but also pLaTeX can treat
    the macros \UTF{}, \UTFC{}, \UTFT{}, and \UTFM{} for characters on SP.
    To generate vf, we require ovp2ovf with set3 support
    i.e. ovp2ovf (WEB version) in TeXLive svn r24922.
    To treat dvi, we require dviware with set3 support
    i.e. dvipdfmx in TeXLive svn r24509, dvipsk in TeXLive svn r18144.
  sty/otf.sty ::
    Support characters on SP in the macro \UTF{}.
  sty/mlutf.sty ::
    Support characters on SP in the macros \UTFC{}, \UTFT{}, and \UTFM{}.
  umkjvf ::
    Change option from '-sip' to '-sp <0-2>'.
    Update references Unicode Blocks-6.1.0.txt (Date: 2011-06-14, 18:26:00 GMT [KW, LI])
      and Adobe-Japan1-6 cid2code.txt (Version 02/04/2012).
  umakeotf, script/sp_list_{j,c,t,k}.txt,
  script/MakeSPList.pm, script/{mkutf32list,mktfm_sp,mkutfvf_sp}.pl ::
    Add: New script to make vf, tfm for characters on SP.
  test/uplatex/Makefile, test/uplatex/uotftest-utf8.tex ::
    Revise.
  test/uplatex/uotf-sp-utf8.tex, test/uplatex/sp_jp_text.tex,
  test/uplatex/sp_{jp,cns,gb,kr}_utf.tex ::
    Add.
  patch/*.patch::
    Revise.
2012.04.21 Ver0.10
  For "otfbeta (v1.7b5 2012/04/11)", upTeX in TeXLive svn r24922 or later
  Enhance: support burasage on uplatex.
  umakeotf_brsg, basepl/ubrsg-{h,v}.pl ::
    Add. The files generate vf and tfm for burasage on uplatex.
    The vf and tfm consume about 16.7 Mbytes in total.
  umkjvf ::
    Refer an environment variable OVP2OVF to set ovp2ovf command.
  umakeotf ::
    Revise.
  sty/otf.sty ::
    Adopt otf.sty [2012/04/11 v1.7b5 psitau] in otfbeta (v1.7b5 2012/4/11).
  sty/mlutf.sty ::
    Update version number.
  test/uplatex/upbrsgtest.tex ::
    Add.
  test/uplatex/Makefile, test/uplatex/uotftest-utf8.tex ::
    Revise.
  patch/*.patch::
    Revise.
2012.07.09 Ver0.11
  ## Thank ZR san for great contribution.
  sty/otf.sty, sty/mlutf.sty ::
    Apply new code to support surrogate pairs
    when macros \UTF{}, \UTFT{}, \UTFC{} and/or \UTFM{} are used with hyperref package.
    The new code is written by ZR san.
  test/uplatex/uotftest-utf8.tex ::
    Revise.
2013.06.02 Ver0.12
  ## Thank Kitagawa san for helpful reports.
  script/mktfm_sp.pl, script/mkutfvf_sp.pl, umakeotf, umakeotf_bsrg, umkjvf ::
    Support Gothic/ExtraBold (gt/eb).
  script/mkutfvf_sp.pl ::
    Refer an environment variable OVP2OVF to set ovp2ovf command.
  umakeotf_jis04 ::
    Add. The script generates vf and tfm for jis2004 option on uplatex.
    The vf and tfm consume about 36.1 Mbytes in total.
  fontmap/hiragino.map(for udvips), fontmap/hiraginox.map(for dvipdfmx) ::
    Add jis2004 entry.
  umkjvf ::
    Revise comment.
  umakeotf, umakeotf_bsrg ::
    Clean up.
  sty/otf.sty, sty/mlutf.sty ::
    Add jis2004 entry.
    Increment version number.
  patch/*.patch::
    Revise.
  test/uplatex/upjis2004.tex, test/uplatex/Makefile::
    Add new test.
2013.11.21 Ver0.13
  sty/otf.sty ::
    Add scale option by following otfbeta v1.7b6.
    Increment version number.
  sty/mlutf.sty ::
    Increment version number.
  patch/*.patch::
    Revise.
  test/uplatex/otfscale.tex, test/uplatex/Makefile::
    Add new test.
2014.03.22 Ver0.14
  umkjvf, sty/otf.sty, sty/mlutf.sty, otfbeta_uptex-0.14.patch ::
    Increment version number.
  script/umk{,v}pkana.pl ::
    Add proportional kana support.
  umakeotf_prop ::
    Add. The script generates vf and tfm for proportional kana on uplatex.
    The vf and tfm consume about 6.4 Mbytes in total.
  umkjvf, script/CheckDVICode.pm, script/MakeSPList.pm ::
    Move some subroutines in the new module and tune up.
  test/uplatex/upkanatest{1,2}.tex, test/uplatex/Makefile ::
    Add new tests.
  COPYRIGHT ::
    Update year.
2014.03.28 Ver0.15
  sty/otf.sty, sty/mlutf.sty ::
    Increment version number.
  sty/otf.sty ::
    Apply again update of otf.sty [2012/04/11 v1.7b5 psitau] in otfbeta (v1.7b5 2012/4/11).
  patch/*.patch::
    Revise.
2014.07.26 Ver0.16
  ## Thank Dora TeX san for helpful reports.
  sty/otf.sty, sty/mlutf.sty ::
    Increment version number.
  sty/otf.sty ::
    Bug fix for ExtraBold (eb).
  patch/*.patch::
    Revise.
2015.04.10 Ver0.17
  ## Thank Akira Kakuto san for helpful reports.
  sty/otf.sty, sty/mlutf.sty ::
    Increment version number.
  sty/otf.sty ::
    Fix bug for ruby.
  patch/*.patch::
    Revise.
  COPYRIGHT ::
    Update year.
2017.03.04 Ver0.18
  umakeotf{,_brsg,_jis04,_prop,_pre} ::
    Clean up.
  sty/otf.sty, sty/mlutf.sty ::
    Increment version number.
  script/CheckDVICode.pm ::
    Update reference Unicode Blocks-9.0.0.txt (Date: 2016-02-05, 23:48:00 GMT [KW])
  script/mkutf32list.pl, script/sp_list_{c,j,k,t}.txt, test/uplatex/sp_{cns,gb,jp}_utf.tex ::
    Update references: URL of cid2code.txt
    and Adobe-CNS1-6 cid2code.txt (Version 12/04/2015).
  script/umk{,v}pkana.pl, test/uplatex/upkanatest1.tex ::
    Add more proportional kana support:
      〃〆ゔゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿヷヸヹヺ (in UTF-8)
    Latest uppltotf (TeX Live r43143 or later) is required.
  patch/*.patch::
    Remove.
  COPYRIGHT ::
    Update year.
2018.02.11 Ver0.19
  ## Thank @aminophen san for many contributions.
  sty/otf.sty, sty/mlutf.sty ::
    Sync with japanese-otf [2018/02/01 v1.7b7].
    Set default latin font T1.
    Add {,u}pLaTeX engine check and a package option "autodetect-engine".
    Increment version number.
  script/CheckDVICode.pm ::
    Update reference Unicode Blocks-10.0.0.txt (Date: 2017-04-12, 17:30:00 GMT [KW])
    Add Block Kana Extended-A, CJK Unified Ideographs Extension F to is_ucs_jpn_range{).
  script/mk{tfm,utfvf}_sp.pl, sty/otf.sty, sty/mlutf.sty ::
    Add subfonts for CJK Unified Ideographs Extension F.
  script/mkutf32list.pl ::
    Add option -style=list-wo-collec.
  script/mkutf32list.pl, script/sp_list_{c,j,k,t}.txt, test/uplatex/sp_{cns,gb,jp,kr}_utf.tex,
  test/uplatex/sp_jp_text.tex ::
    Update references:
    Adobe-CNS1-7 cid2code.txt (Version  10/24/2017), and
    Adobe-Japan1-6 cid2code.txt (Version 10/24/2017).
  script/CheckDVICode.pm, script/umk{,v}pkana.pl, basepl/u{base,brsg}-{h,v}.pl ::
    Add U+00B7 to char_type 3.
  COPYRIGHT ::
    Update year.
2018.04.07 Ver0.20
  sty/otf.sty, sty/mlutf.sty ::
    Increment version number.
  script/CheckDVICode.pm, script/umk{,v}pkana.pl, basepl/u{base,brsg}-{h,v}.pl ::
    Add U+00AB, U+2329, U+301A to char_type 1.
    Add U+00BB, U+232A, U+301B, U+301E to char_type 2.
  test/uplatex/{punctuation,punct0,paren0}.tex, test/uplatex/Makefile ::
    Add a new test for punctuations.
2018.05.13 Ver0.21
  sty/otf.sty, sty/mlutf.sty ::
    Increment version number.
  script/umk{,v}pkana.pl, basepl/u{base,brsg}-{h,v}.pl ::
    Add U+203C, U+2047, U+2048, U+2049 to char_type 6.
  script/umkpkana.pl, umakeotf_prop ::
    Add -hk option to enable halfwidth katakana letters in hiraprop.
  script/mkutf32list.pl ::
    Remove feature 'switch'
  test/uplatex/{exclam,upkanatest1}.tex, test/uplatex/Makefile ::
    Add a new test for punctuations and halfwidth katakana.
2018.12.08 Ver0.22
  ## Thank @aminophen san, 柳田 Ryo san and @Man-Ting-Fan san for many contributions.
  sty/otf.sty, sty/mlutf.sty ::
    Increment version number.
  script/CheckDVICode.pm ::
    Bug fix on U+3090..3093.
  script/mkutf32list.pl ::
    Replace encoding pragma to binmode.
  script/mktfm_sp.pl, script/mkutfvf_sp.pl ::
    Apply FindBin module.
  script/mkutf32list.pl, script/sp_list_j.txt, test/uplatex/sp_jp_{utf,text}.tex ::
    Update references:
    Adobe-Japan1-7 cid2code.txt (Version 07/30/2018).
  test/uplatex/paren0.tex ::
    Fix typo.
2019.04.01 Ver0.23
  sty/otf.sty, sty/mlutf.sty ::
    Increment version number.
  script/CheckDVICode.pm, script/umk{,v}pkana.pl ::
    Add more proportional kana support:
      ヿゟ (in UTF-8)
    Previously, they did not work due to a bug.
  script/CheckDVICode.pm, test/uplatex/sp_jp_{utf,text}.tex ::
    Update references:
    Unicode Blocks-12.0.0.txt (Date: 2018-07-30, 19:40:00 GMT [KW])
    Adobe-Japan1-7 cid2code.txt (Version 07/30/2018).
  test/uplatex/era.tex ::
    Added.
  COPYRIGHT ::
    Update year.
2019.09.07 Ver0.24
  ## Thank @aminophen san.
  sty/otf.sty, sty/mlutf.sty ::
    Increment version number.
  script/CheckDVICode.pm ::
    Make half width U+00B7 in VFs.
2020.02.28 Ver0.25
  sty/otf.sty, sty/mlutf.sty ::
    Increment version number.
  script/CheckDVICode.pm, script/sp_list_j.txt,
  test/uplatex/sp_jp_{utf,text}.tex ::
    Update references:
    Adobe-Japan1-7 cid2code.txt (Version 07/30/2019).
  COPYRIGHT ::
    Update year.
2020.11.08 Ver0.26
  sty/otf.sty, sty/mlutf.sty ::
    Bump version number.
  umkjvf, umakeotf{,_brsg,_jis04,_prop} ::
  script/{umkpkana.pl,umkvpkana.pl} ::
    Shrink file size of some virtual fonts for main text.
    New option "-omitfw" for umkjvf.
  sty/otf.sty, sty/mlutf.sty,
  script/{mktfm_sp.pl,mkutfvf_sp.pl} ::
    Introduce Unicode base multi-weight virtual fonts
    for \UTF{}, \UTFC{}, \UTFT{}, \UTFK{}.
  test/uplatex/{uotftest-utf8.tex,utfmacro-cjk.tex}, test/uplatex/Makefile,
  test/uplatex/utfmacro-haranoaji.map ::
    Add a new test for multi-weight \UTF{}, \UTFC{}, \UTFT{}, \UTFK{}.
2022.02.16 Ver0.27
  sty/otf.sty, sty/mlutf.sty ::
    Bump version number.
  umakeotf, basepl/ubase-{sch,tch,kor}-{h,v}.pl,
  basepl/mjvf-upnm{sch,tch,kor}{,-slim}.cnf ::
    Introduce multi-weight virtual fonts for Chinese/Korean plain texts.
  test/uplatex/Makefile, test/uplatex/cjk-{mltwght,pxbabel}-{h,v}.tex ::
    Add new tests for CK multi-weight plain texts.
  COPYRIGHT ::
    Update year.
2023.02.23 Ver0.28
  sty/otf.sty, sty/mlutf.sty ::
    Bump version number.
    Set option autodetect-engine default.
    Add a new option platex to check if engine is platex.
  umkjvf, umakeotf{,_brsg,_jis04,_pre,_prop},
  script/{CheckDVICode,MakeSPList}.pm,
  script/{mktfm_sp,mkutf32list,mkutfvf_sp,umk{,v}pkana}.pl ::
    Update header comments.
  script/CheckDVICode.pm, script/sp_list_j.txt,
  test/uplatex/sp_jp_{utf,text}.tex ::
    Update references:
    Unicode Blocks-15.0.0.txt (Date: 2022-01-28, 20:58:00 GMT [KW])
    Adobe-Japan1-7 cid2code.txt (Version 05/18/2022).
  script/{CheckDVICode,MakeSPList}.pm, script/umk{,v}pkana}.pl,
  umkjvf, umakeotf_prop ::
    Support Kana Letter Small Ko defined by Unicode 15.0.
  test/uplatex/Makefile, test/uplatex/utfmacro-kozuka.map,
  test/uplatex/{uotftest-utf8,upkanatest1}.tex ::
    Add new tests for Small Kana Extension & Adobe fonts.
  COPYRIGHT ::
    Update year.

