時期macOS Montereyが発表になりましたが、メジャーヴァージョンNo.が12になるようです。
cgk-gs-integrated-macos.plなど、ヴァージョンチェックして処理を分岐させているようなものでは対処が必要になるかもしれません。
先月、新しいMacBook Proを購入してTeX Live 2021をインストールした際に、ヒラギノが使えなかったのでこちらにたどり着きました。
テスト結果は以下の通りです。
~/work/cjk-gs-support $ perl cjk-gs-integrate-macos.pl --strict -psname --dry-run
Warning: macOS 12.0 is untested.
cjk-gs-integrate: reading font database ...
cjk-gs-integrate: checking for files ...
cjk-gs-integrate [WARNING]: zrlistttc check failed for /Library/Fonts/A-OTF-RyuminPr6N-Regular.otf: please report to the author!
cjk-gs-integrate: searching for Ghostscript resource
cjk-gs-integrate: output is going to /opt/homebrew/share/ghostscript/9.55.0/Resource
cjk-gs-integrate: generating links and snippets for CID fonts ...
cjk-gs-integrate: generating links, snippets and cidfmap.local for non-CID fonts ...
cjk-gs-integrate: generating snippets and cidfmap.aliases for font aliases ...
cjk-gs-integrate: finished
~/work/cjk-gs-support $ perl cjk-gs-integrate-macos.pl --link-t
exmf=aaa --output=bbb
Warning: macOS 12.0 is untested.
cjk-gs-integrate: reading font database ...
cjk-gs-integrate: checking for files ...
cjk-gs-integrate: output is going to bbb
cjk-gs-integrate: generating links and snippets for CID fonts ...
cjk-gs-integrate: generating links, snippets and cidfmap.local for non-CID fonts ...
cjk-gs-integrate: adding cidfmap.local to cidfmap file ...
cjk-gs-integrate: generating snippets and cidfmap.aliases for font aliases ...
cjk-gs-integrate: adding cidfmap.aliases to cidfmap file ...
cjk-gs-integrate: running mktexlsr ...
mktexlsr: /usr/local/texlive/2021/texmf-config: directory not writable. Skipping...
mktexlsr: /usr/local/texlive/2021/texmf-dist: directory not writable. Skipping...
mktexlsr: /usr/local/texlive/2021/texmf-var: directory not writable. Skipping...
mktexlsr: /usr/local/texlive/texmf-local: directory not writable. Skipping...
mktexlsr: Done.
cjk-gs-integrate: finished
~/work/cjk-gs-support $ ls -lR aaa bbb > tmp.txt
cjk-gs-integrate-macos.plをこちらのものに置き換えて、今では無事にヒラギノが使えています。
sw_vers の使われ方を一応チェックしていたのですが、今回の対応は OK だとおもいます。
実質三つですがチェックしていたのは以下です。
/usr/local/texlive/2021/bin/universal-darwin/cjk-gs-integrate (/usr/local/texlive/2021/texmf-dist/scripts/cjk-gs-integrate/cjk-gs-integrate.pl) 上記の実体 /usr/local/texlive/2021/texmf-dist/scripts/ptex-fontmaps/kanji-config-updmap.pl /usr/local/texlive/2021/tlpkg/TeXLive/TLUtils.pm
現状も数年先程度以降も問題なく動作すると思いますが、一個気になる箇所があります。
TLUtils.pm
408: my $mactex_darwin = 14;
420: if ($os_major >= 11 || $os_minor >= $mactex_darwin) {
420行目の 後半の or の判定は Mojave (14) Catalina(15) 対策だと思います。 だとしたら ( $os_major == 10 && $os_minor >= $mactex_darwin ) の方が良いと思います。
現状は問題にはなりませんが、将来 別のアーキテクチャ も取り込むような事態になると??と問題が発生するかもしれません。
PS sw_vers の結果は ruby python などのように x.y.z ではなく x.y なのだから split とか部分文字列取り出しなどせずにそのまま判定に使えたのでは と思って眺めていました。
10.11.6 そんなものがありましたね。 調べると気がつかなかったけど確かに Big Sur でも 11.3.1 とかがあったようですね。
411 行目のコメントには major minor の二つを想定しているように思うけど、ループして頻繁に使うコードではないので、現状のコードで良いので和田のブツブツは取り下げます。
410: # Most robust approach is apparently to check sw_vers (os version,
411- # returns "10.x" values), and sysctl (processor hardware).
412: chomp (my $sw_vers = `sw_vers -productVersion`);
413: my ($os_major,$os_minor) = split (/\./, $sw_vers);