texlive2021からtexlive2022に更新したところ一部文書でエラーがでるようになりました。
原因はupmendexの出力結果に違いがあることにありました。
FreeBSD12.4(amd64) + texlive2022にて添付ファイルの001.dic, 001.ist, 001.idxの内容で
upmendex -l -s 001.ist -d 001.dic 001.idx
とすると
Warning: Illegal input for character_order (E)....done(2 comparisons).
と警告がでて、結果001.indは
###############start
\INDEXHEAD{ア}
\item あゆひ(脚結)\DOTFILL \hyperpage{1}
\indexspace
\INDEXHEAD{\symbolindexname}
\item 「あゆひ抄」\DOTFILL \hyperpage{1}
###############end
となります
texlive2021のupmendex version0.54では
#################001.ind(texlive2021 upmendex version0.54) start
\INDEXHEAD{ア}
\item あゆひ(脚結)\DOTFILL \hyperpage{1}
\item 「あゆひ抄」\DOTFILL \hyperpage{1}
################end
となり、これがのぞみの結果です。
version1.0のバグではないでしょか?。
ご報告ありがとうございます。
ご指摘の件、
treatment by Unicode character types https://github.com/t-tk/upmendex-package/issues/8
で施した更新の影響で動作が変化したものと思います。
http://www.unicode.org/Public/UCD/latest/ucd/Scripts.txt
によると ”「” U+300C は、Ps: start punctuation なので、
upmendex 1.0xでは、記号(Symbol)のところに分類され、しかも辞書検索の方に回らない仕様になっています。
v1.0x の仕様でありバグでは無い、ということになります。
括弧類を辞書に登録して検索するような使用法は想定していませんでした。
ご指摘の入力に対して、v0.54 の動作に戻す考えは、今のところありません。
それと、下記警告ですが、
Warning: Illegal input for character_order (E)....done(2 comparisons).
001.ist の中で
character_order "JESN"
の代わりに
character_order "JLSN"
とすると Warning が消えます。
これは、前者が仕様外、後者が仕様通りです。mendex と仕様を替えたところになります。(Latin文字の諸語は英語(E)とは限らないので)
いかがでしょうか。
ご指摘の件、
treatment by Unicode character types https://github.com/t-tk/upmendex-package/issues/8
で施した更新の影響で動作が変化したものと思います。
http://www.unicode.org/Public/UCD/latest/ucd/Scripts.txt
によると ”「” U+300C は、Ps: start punctuation なので、
upmendex 1.0xでは、記号(Symbol)のところに分類され、しかも辞書検索の方に回らない仕様になっています。
v1.0x の仕様でありバグでは無い、ということになります。
括弧類を辞書に登録して検索するような使用法は想定していませんでした。
ご指摘の入力に対して、v0.54 の動作に戻す考えは、今のところありません。
それと、下記警告ですが、
Warning: Illegal input for character_order (E)....done(2 comparisons).
001.ist の中で
character_order "JESN"
の代わりに
character_order "JLSN"
とすると Warning が消えます。
これは、前者が仕様外、後者が仕様通りです。mendex と仕様を替えたところになります。(Latin文字の諸語は英語(E)とは限らないので)
いかがでしょうか。