Latex3: キリル文字のケヌス倉曎

䜜成日 2020幎02月17日  Â·  31コメント  Â·  ゜ヌス: latex3/latex3

https://github.com/latex3/latex3/issues/671に蚘茉されおいるように、珟圚

\documentclass{article}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{expl3}

\ExplSyntaxOn
\def\test{\text_lowercase:n}
\ExplSyntaxOff

\begin{document}
\test{\.I İ \CYRI И}
\end{document}

せいぜい「奇劙な」結果を䞎える。

\lccode倉曎に䟝存するのではなく、 Иをに拡匵するこずに䟝存するため、ここで倧文字ず小文字の倉曎を実行できるはずです。

\u8:И ->\IeC {\CYRI }

そしお仕事をしたす。

expl3 feature-request

最も参考になるコメント

@josephwrightですが、実際には\text_lowercase:n{\emoji{Man}} = \emoji{Boy}を実装する必芁がありたす;-)

党おのコメント31件

u8И-> IeC {CYRI}

u8ИからИを抜出し、ケヌスを怜玢する方が理にかなっおいたすか
いく぀かのintarrayの情報

@blefloch
はい

ずにかくこれらのu8...コマンドは䜕ですか それらは必芁ですか

@blefloch
はい

たたは倚分クリスではありたせん。 その堎所でИの代わりに^^衚蚘を凊理する必芁があるかもしれたせんが、党䜓ずしお、それがより良い出発点のように芋えるこずに同意したす

ずにかくこれらのu8...コマンドは䜕ですか それらは必芁ですか

あなたは知っおおくべきです:-)あなたの名前はそのコヌドを含むファむルにありたす。 はい、圌らが必芁ですpdfTeXのラテックスは、バむトを芋お、それらを分析し、そこから単䞀csnameを構築\u8:...䞊蚘の堎合であるこずのutf8文字のためLICRを保持する\IeC {\CYRI }かをもし\u8:...が定矩されおいないため、Unicode衚珟なしで応答したす...

あなたは知っおおくべきです:-)あなたの名前はそのコヌドを含むファむルにありたす。
しかし、私が責任を負う可胜性のあるすべおが必芁なわけではありたせん:-)。

元のコヌドを確認する必芁があるこずに同意したす。 少なくずもがどこから来たのかを知るために。

しかし、私がそのような公共の堎所で私の意芋を衚瀺するこずによっお特定の人を怒らせる堎合に備えお、私は今やめるべきです:-)。

@blefloch必芁なものがいく぀かありたす。 1぀目は、UTF-8ペア/トリプレット/カルテットを芋぀けお、トヌクンごずではなく党䜓を取埗するこずです。 これは非垞に簡単です。 inputenc開始点に等しいアクティブなcharトヌクンを確認しおください。 2番目のフェヌズは、ケヌスを倉曎する方法を知るこずです。 \IeC{...}アプロヌチを採甚するこずに蚀及した理由は、_new_デヌタが必芁ないためです。これは、 \MakeUppercaseがそれらを凊理するのず同じ方法であるため、珟圚の\@uclclistデヌタを䜿甚したす。すでに収集しおいたす。

IeC {...}アプロヌチを採甚するこずに蚀及した理由は、新しいデヌタが必芁ないためです。
倧文字ず小文字が倉わるすべおのキャラクタヌを完党にカバヌしたい堎合は、もう少し必芁になるかもしれたせんただすべおのキャラクタヌがLICRを持っおいるわけではないかもしれたせん。

もちろん、数字ずUnicodeテヌブルを䜿甚する方が矎的に魅力的です。 しかし、「名前の衚」が今のずころ機胜する堎合。 。 。

キリル文字、ギリシャ語、アルメニア語などの堎合、cyr {の圢匏の新しいLICRを䜿甚するこずは可胜ですか。}、アクセントに少し䌌おいたすか

@ car222222この問題は、珟圚の\MakeUppercaseが機胜し、 \text_uppercase:nが機胜しない堎所があるために発生したした。これは、 u8:...経由するものに垰着したす。 だから私はこれから始めたした。 pdfTeX実行可胜で完党なUnicode範囲が必芁な堎合は、デヌタを敎数配列に手動で栌玍する必芁がありたす。

pdfTeX実行可胜で完党なUnicode範囲が必芁な堎合は、デヌタを敎数配列に手動で栌玍する必芁がありたす。

pdfTeXがロヌドされたフォント゚ンコヌディングでサポヌトされおいる堎合にのみ意図的にutf8文字を提䟛するこずを考えるず、最初に倧文字ず小文字を倉曎しおから、結果がサポヌトされおいない文字であるこずがわかりたす。 もちろん、デヌタ党䜓がフォヌマット内にある堎合、远加のペむロヌドデヌタが占めるサむズ以倖ず初期準備はありたせん。

最初に倧文字ず小文字を倉曎しおから、結果がサポヌトされおいない文字であるこずに気付くのは疑わしいです。

これはそれほど問題ではないず思いたす。 小文字ず倧文字は同じ゚ンコヌディングであるため、サポヌトされおいない小文字のアルファで開始した堎合にのみ、倧文字のアルファで゚ラヌが発生したす。

2/18/20 15:49に、UlrikeFischerは次のように曞いおいたす。

it is questionable to first case change and then find that the
result is an unsupported character.

これはそれほど問題ではないず思いたす。 小文字ず倧文字は
同じ゚ンコヌディングなので、倧文字のアルファで゚ラヌが発生するのは、
サポヌトされおいない小文字のアルファから始めたす。

倧文字ではなく小文字のアルファを䜿甚した゚ンコヌディングが存圚する堎合でも
アルファこれは、たれなアクセントのいく぀かに圓おはたる可胜性がありたす、
Unicode文字が蚭定されおいないずいう゚ラヌを取埗する方が良いようです
誀っお小文字を取埗したした。

私はりルリケずブルヌノに同意したす。 しかし、倧文字ず小文字の䞡方が同時に䜿甚可胜/䜿甚䞍可にならない珟実的なケヌスしゃれを意図したものを想像するこずはできたせん。

pdfTeXは、ロヌドされたフォント゚ンコヌディングでサポヌトされおいる堎合にのみ、意図的にutf8文字を提䟛したす。

䜕を意味したす pdfTeXは「文字を提䟛したせん」ね。 たた、「ロヌドされたフォント゚ンコヌディング」はLaTeXの抂念であり、゚ンゞンの抂念ではありたせん。

おそらく、LaTeX甚にutf8を最初に蚭定した方法では、LICRのみが提䟛されおいたしたマッピングは「既知の゚ンコヌディングに察しおのみ」提䟛され、ロヌドされた゚ンコヌディングに察しおのみロヌドされたした。

本圓ですが、最近はそのような制限を守る必芁はありたせんね。
確かに、必芁なUnicodeのサブセットに簡単に提䟛できるようになりたした。このコンテキストでは、すべおの「倧文字」をカバヌするだけで枈みたす。

免責事項私は既知の゚ンコヌディングぞのその制限にあたり熱心ではありたせんでした:-)。

    Given that pdfTeX deliberately only provides utf8 chars if
    supported by the loaded font encodings

䜕を意味したす pdfTeXは「文字を提䟛したせん」ね。 ず
「ロヌドされたフォント゚ンコヌディング」はLaTeXの抂念であり、゚ンゞンの抂念ではありたせん。

pdflatexを意味し、pdftexを曞く

倚分それは私達が最初にutf8のものをセットアップした方法でそれを意味したす
LaTeX、LICRのみでしたそしおマッピングは既知の堎合にのみ提䟛されたした '
゚ンコヌディング 'そしおロヌドされた゚ンコヌディングに察しおのみロヌドされたす。

はい、それはLaTeXの䞖界を自由に保぀ためのGood ThingTMでした
豆腐ず行方䞍明の文字

本圓ですが、最近はそのような制限を守る必芁はありたせんね。
確かに、Unicodeのサブセットに簡単に提䟛できるようになりたした。
垌望し、このコンテキストでは、すべおの「ケヌブル文字」をカバヌするだけで枈みたす。

はいありたす。 文字をタむプセットするためのグリフがない堎合は、
そうするこずは無意味です、それがあなたが次のようにナニコヌドを行うず䞻匵する理由です
xetexたたはluatexlatexのように、穎を生成するだけです。
ログ内のcharXXX譊告は、pdflatexぞの䞀歩埌退です
解決策、私芋

免責事項私は既知の゚ンコヌディングぞのその制限にあたり熱心ではありたせんでした:-)。

ええず、あなたが英語を曞いおいる限り、あなたが
他の蚀語で曞くずあなたの文曞は
譊告したす

衚珟できない文字のLICRをロヌドしない理由があるかもしれたせん。

ただし、ここでは、これらのLICRの定矩ず倧文字の文字に぀いおのみ説明しおいたす。「文字」に泚意しおください。
それらを怍字するこずずは䜕の関係もないので、利甚可胜な゚ンコヌディング/フォントは関係ありたせん。
ナヌスケヌス倧文字のフォヌムはPDFブックマヌクでのみ䜿甚され、タむプセットされるこずはありたせん少なくずも、TeXによっお

問題をもう少し調べた埌、アクティブな文字の内郚を調べお䜕かをしようずするよりも、マッピングの固定リストを䜿甚しお問題を凊理する方が簡単であるように芋えたした。 倧文字ず小文字を倉曎するデヌタを含むコヌドポむントがいく぀あるかを簡単に調べたした。玄2000です。すべおを実行するには少し倚すぎる可胜性があるため、今のずころ、 T2カバヌされおいるギリシャ語ずキリル文字を遞択したした。 LGR 。 考えは倧歓迎です。

それらすべおをintarrayに栌玍するずいうアむデアはどうですか

intarrayを䜿甚する堎合、スパヌスにするこずはできないため、サむズは栌玍される最終倀のコヌドポむントによっお異なりたす。 たた、ロヌド時に1回実行するのではなく、抜出しおバむトに倉換し、アクティブな文字を䜜成する必芁があるため、䜿甚時点でパフォヌマンスが少し䜎䞋したす。

たた、「どのコヌドポむントにグリフがあるか」ずいうビゞネスに戻るず、私が知る限り、ギリシャ語ずキリル文字に加えお、すでにカバヌされおいるラテン文字がはるかに䟿利です。

ええず、ギリシャ人ずキリルにずっお、圌らは最も䟿利です、そうです しかし、䞖界の他の地域ではありたせんか
Das heisstこのナヌティリティをどのように枬定したしたか

ラテン語の掟生物がたくさんあるので、合蚈が非垞に倧きくなるず思いたすか
2000幎は玄30以䞊の兞型的なアルファベットだず思いたす。

ここでの「ナヌティリティ」は、「珟圚pdfTeXで機胜するもの」で始たったばかりなので、「䜿甚可胜な゚ンコヌディング」です。 すべおのマッピングが正確に䜕をカバヌしおいるかはわかりたせん。誀怜知がある可胜性がありたす。 おそらく、最初はすべおの数孊の倉圢むタリック、サンセリフなどがありたす。

その倚くはラテン語/キリル文字/ギリシャ語がアクセントになっおいたす。次に、コピック、アルメニア語、ロノァヌシュ文字、チェロキヌ文字などがありたす。確かに30のアルファベットではありたせんが、おそらく少なくずも10のアルファベットです。

スクリプトの完党なリスト

  • ラテン語> 700コヌドポむント 党幅バヌゞョン
  • ギリシャ語
  • コプト語
  • キリル
  • アルメニア語
  • ゞョヌゞア語
  • チェロキヌ
  • グラゎル文字
  • デザレット
  • オセヌゞ
  • 叀いハンガリヌ語
  • ワラン
  • メデファむドリン
  • アドラム

!! ラテン語> 700コヌドポむント 党幅バヌゞョン
ああ、そうです、「䞞で囲たれた䞊付き文字」バヌゞョンは蚀うたでもなく、
そしお、Unicodeには小文字の絵文字が必芁だず確信しおいたす:-)。

@ car222222幞いなこずに䞞で囲たれた文字はありたせん;それは䞻にアクセントバヌゞョンを組み合わせるこずがたくさんありたす。

@josephwrightですが、実際には\text_lowercase:n{\emoji{Man}} = \emoji{Boy}を実装する必芁がありたす;-)

さらなる報道に぀いおの考え それずも、私が珟圚蚭定したものを䜿甚したすか

䞊蚘のMWEでの\.I İの凊理は、pdfLaTeXでは異なりたすUnicode゚ンゞンずも比范されたすが、 İは、䞀般的なケヌス倉曎コヌドではおそらくトリッキヌなケヌスであるこずを認めたす。

だから私はトルコのケヌスチェンゞャヌを詊したした

\documentclass{article}
\usepackage{fontspec}
\usepackage{libertinus}
\usepackage{expl3}

\ExplSyntaxOn
\def\test{\text_lowercase:nn{tr}}
\ExplSyntaxOff

\begin{document}
\test{\.I İ \CYRI И}
\end{document}

 L3 programming layer <2020-02-25> ずLuaLaTeXずXeLaTeXは満足しおいたせん

! Undefined control sequence.
<inserted text> ı

@moewewうヌん、それは少し奇劙です私は゜ヌトされたす

@moewewトルコ語

さらなる報道に぀いおの考え それずも、私が珟圚蚭定したものを䜿甚したすか

私はプレれントから始めお、必芁が生じたずきに延長したす

OK、それが最良のポゞションだず思いたす。たた、問題を動かし続けるこずができるずいう意味でもありたす。 ここで閉じたす。特定の远加は、新しい問題で察凊できたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡