summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/uptex/uptex-base
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/uptex/uptex-base')
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/00readme_uptex.txt2
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/01uptex_doc_utf8.txt154
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/02uptex_changelog_utf8.txt38
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/LICENSE4
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/README.md2
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/00readme_uptex_samples.txt5
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/Makefile10
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-algrya.tex161
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-cgrmd.tex185
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-clara.tex234
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-common.tex114
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-dejavu.tex257
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-gntm.tex306
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-kurier.tex280
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-lmdrn.tex289
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-noto.tex270
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-roboto.tex174
-rw-r--r--Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-source.tex175
18 files changed, 2607 insertions, 53 deletions
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/00readme_uptex.txt b/Master/texmf-dist/doc/uptex/uptex-base/00readme_uptex.txt
index dab6bf37bac..18550377b30 100644
--- a/Master/texmf-dist/doc/uptex/uptex-base/00readme_uptex.txt
+++ b/Master/texmf-dist/doc/uptex/uptex-base/00readme_uptex.txt
@@ -1,5 +1,5 @@
upTeX, upLaTeX --- unicode version of ASCII pTeX, pLaTeX
-2024.10.12 Ver1.35
+2025.01.03 Ver2.00
TANAKA, Takuji ttk(at)t-lab(dot)opal(dot)ne(dot)jp
[ Contents ]
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/01uptex_doc_utf8.txt b/Master/texmf-dist/doc/uptex/uptex-base/01uptex_doc_utf8.txt
index 4109fd310c5..da4ba812c63 100644
--- a/Master/texmf-dist/doc/uptex/uptex-base/01uptex_doc_utf8.txt
+++ b/Master/texmf-dist/doc/uptex/uptex-base/01uptex_doc_utf8.txt
@@ -1,8 +1,8 @@
upTeX, upLaTeX --- 内部unicode版 pTeX, pLaTeX の実装
-2024.10.12 Ver1.35
+2025.01.03 Ver2.00
TANAKA, Takuji ttk(at)t-lab(dot)opal(dot)ne(dot)jp
-◇ upTeX開発のねらい
+◇ upTeX開発のねらい upTeX Ver0.02 〜 Ver1.35
ASCII pTeX/pLaTeXは、高品質の日本語組版ソフトウェアとして、いくつ
かあるTeXの日本語化の中でもデファクトスタンダードの地位にある。縦組
の機能や日本語組版の品質はもとより、信頼性の高さや周辺ソフトウェアの
@@ -62,6 +62,32 @@ CJKのレパートリーの範囲を和文の組版に利用する。8bit欧文
し分のない高みを出発点として、無理のない自然な拡張を着実に行っていけ
ば、成果を出しつつ目標に近づけるであろうと目論んでいる。
+◇ upTeX開発のねらい upTeX Ver2.00 〜
+ upTeX/upLaTeX Ver1.xx は、2007年の開発開始以来、私自身の作業に
+加え多くの方のご協力を得て機能追加や周辺環境の充実、不具合の修正が継続
+し、お蔭様でユーザー各位の幅広い支持を受けることができた。TeX Liveの
+配布にも収録していただけるようになり、当初の目標だったpTeX/pLaTeXの
+自然なUnicode拡張による和文+CJKの充実と、さらに、日本語(+東アジア)
+標準TeXの中の一つとして地位を占めるところまで達成できたように思う。
+関係各位に御礼を申し上げる。
+一方、2007年の開発当時を振り返ってみると、XeTeXやLuaTeXの台頭は
+予想できたものの、8bit欧文LaTeX(pdfLaTeX)までもUnicode化が進展し
+規定の文字コードがUTF-8になるところまでは想像が難しかった。
+upTeX/upLaTeXは今まで欧文の処理はKnuth TeX以来の伝統的な8bitの
+範囲にとどめていたが、今となっては和文(またはCJK)との2階建て構造が
+複雑でわかりにくい上、XeLaTeXやLuaLaTeXのUnicodeを前提とした処理
+とupLaTeXの欧文8bit部分が馴染まずに苦労することが増えてきた。その
+結果LaTeXの進化についていけないだけでなくupLaTeXそのものの存続を
+危ぶむ声も出てきている。
+そこで、upTeX/upLaTeXが欧文16bitを扱えるようになり和文と欧文の
+どちらも「Unicode 1文字1トークン」で扱えるようになれば、そのような
+危機的状況を回避する鍵になりそうだ。それも、具体的にはkcatcodeの
+拡張による追加オプションとして、従来の欧文8bit動作への副作用なしに
+実装できそうだ。
+しがらみのあるソフトウェアの延命措置のきらいがあることは否めないが、
+pTeX/pLaTeX系列のUnicode版後継者としての役割をこれからも引き続き
+担っていくことを目指したい。
+
◇ 主な開発方針
<0> pTeX の基本的な機能はそのままで、内部の和文処理を EUC/SJIS から
@@ -86,29 +112,37 @@ CJKのレパートリーの範囲を和文の組版に利用する。8bit欧文
pTeX から見ると欧文部分の機能が向上しているように見えるが、
欧文 TeX から見ると
pTeX が欧文 TeX の機能を阻害していた部分を取り除いただけである。
-<4> pTeX の和文トークンを CJKトークンとして扱い、
+<4> (upTeX-2.00新規、実験的) 16bit 欧文コードの処理が可能になるよう、
+ 和文/欧文の切替え用にkcatcodeを拡張する。
+ このとき欧文の文字コードはUnicodeのみを想定し、最大値 U+2E7F
+ までとする。和文のみならず欧文も「Unicode 1文字1トークン」
+ (catcode 4bit + charcode 16bit) となる。フォントのメトリック
+ としては OFM Level-0 を読み込んで用いるように拡張する。
+ 8bit 欧文との混在も、kcatcodeの切り替えにより可能である。
+ フォントまで含めた安定な環境として提供できるにはまだ時間が掛かりそう
+ であり、当面「実験的」と位置づけることにする。
+<5> pTeX の和文トークンを CJKトークンとして扱い、
中国語/韓国語対応を強化する。
-<5> pTeX の和文トークンの 16bit を単純に Unicode (UCS2等) 化すると
- 欧文トークン (catcode 4bit + charcode 8bit) と衝突してしまう。
+<6> pTeX の和文トークンの 16bit を単純に Unicode (UCS2等) 化すると
+ 欧文トークン (catcode 4bit + charcode 16bit) と衝突してしまう。
これを回避する手法は何通りか考えられるが、
CJKトークンの上限の拡張を行い、
CJKトークンを (kcatcode 5bit+charcode 24bit) で扱う。
pTeX からの改造量はやや大きいが、欧文 TeX との対称性は良くなる。
-<6> U+2xxxx (Supplimentary Ideograph Plane, SIP) の漢字など
- BMP以上かつ全角幅の文字はサポートする。
+<7> U+2xxxx (Supplimentary Ideograph Plane, SIP) や
+ U+3xxxx (Tertiary Ideograph Plane, TIP) の漢字など
+ BMP以上かつ全角幅の文字をサポートする。
BMP以上かつ全角幅以外の文字は、jfmの拡張によりサポートする。
-<7> 日本ローカル色を薄めるだけの目的での機能変更、整理、削除は行わない。
+<8> 日本ローカル色を薄めるだけの目的での機能変更、整理、削除は行わない。
\xkanjiskip, \euc などはそのままの名称、機能で維持する。
理由は、少々の手当で日本ローカル色が払拭できるはずもなく、
pTeX との互換性を下げるだけに過ぎない結果になるであろうから。
この方針により、pTeX が抱えていた弱点はいくつか解消できるものの、
pTeX の特殊性 (全角等幅フォント前提の jfm 等) は保たれているし、
-pdfeTeX など欧文 TeX の近年の動向から遠く離れたままであるし、
-欧文部分 は 8bit のままであるし、
+pdfTeX など欧文 TeX の近年の動向から遠く離れたままであるし、
OpenType の新技術などを駆使できているわけでもない。
-世界の最新の TeX 環境や
-他の Unicode 拡張 (Omega/Aleph, XeTeX, LuaTeX 等)と比較すると、
-旧くさく中途半端な印象を受けるかもしれない。
+世界の最新の TeX 環境や他の Unicode 拡張 (XeTeX, LuaTeX 等)と
+比較すると、旧くさく中途半端な印象を受けるかもしれない。
しかし、pTeX との互換性がほぼ 100% の Unicode 版 CJK TeX となり
pTeX を中心に推移してきた日本の TeX ユーザーが
過去の資産を利用しつつ手早く Unicode のおいしい部分を享受するために、
@@ -140,10 +174,12 @@ pTeX を中心に推移してきた日本の TeX ユーザーが
U+FFFF以下の文字はset2で、U+FFFFを越える文字はset3で扱う。
和文として扱える文字コードの最大値はUnicodeの最大値U+10FFFF。
さらに、0x220000以上0xFFFFFF以下をUnicode合成文字用の
- 内部文字コードとして使用する。(upTeX-1.35新規)
+ 内部文字コードとして使用する(upTeX-1.35新規)。
<5> 和文、欧文の切替えは、コードレンジのチェックに加えkcatcodeを見て行う。
kcatcode=16,17,18なら漢字,かな,和文その他記号(pTeXと同様)で、
- kcatcode=15なら欧文、非CJKの文字(新規)。
+ kcatcode=15なら欧文8bit、非CJKの文字(新規)。
+ kcatcode=14(latin_ucs)なら欧文16bit Unicode、
+ 非CJKの文字(upTeX-2.00新規)。
kcatcode=19ならhangul(新規)。hangul直後の改行は欧文同様
空白と看做すが、それ以外の点では、漢字と全く同じ動作になっている。
kcatcode=20ならmodifier(upTeX-1.35新規)。Unicodeで合成用の文字
@@ -151,39 +187,48 @@ pTeX を中心に推移してきた日本の TeX ユーザーが
<6> 欧文と判定されればUTF-8の8bit可変長文字列として内部処理する。
オリジナルの欧文TeXと完全に互換の処理ができる。
すなわち、欧文LaTeXの\inputenc{utf8}やBabelが障害なく利用できる。
-<7> 和文と判定されればpTeXと同様の処理ができる。
+<7> (upTeX-2.00新規) kcatcode=14(latin_ucs)が設定された状態で
+ UTF-8の入力バッファで8bit文字コード列が正規のUTF-8として
+ U+2E7F 以下と読み取れるとき、Unicodeの欧文であると解釈して
+ 符号位置 0x80~0x2E7F の欧文文字ノードを生成する。
+ オリジナルの欧文Omega/Alephと互換の処理ができる。
+<8> 和文と判定されればpTeXと同様の処理ができる。
すなわち、組版はもちろん、
漢字,かなをコントロールワードに使う機能等が障害なく利用できる。
-<8> kcatcodeの切替えはUnicodeのBlock毎に可能。
+<9> kcatcodeの切替えはUnicodeのBlock毎に可能。
( http://www.unicode.org/Public/UNIDATA/Blocks.txt )
( ちなみに、オリジナルpTeXでは2バイト文字のうち上位バイト毎。 )
-<9> 和文の内部コードは、kcatcode 5bit+charcode 24bit で処理する。
- 内部コードが欧文(catcode 4bit+charcode 8bit)と重なることはない。
-<10> 従来のpTeXでは、kcatcodeの参照を文字コードからkcatcodeの表を引き
+<10> 和文の内部コードは、kcatcode 5bit+charcode 24bit で処理する。
+ 内部コードが欧文(catcode 4bit+charcode 16bit)と重なることはない。
+<11> 従来のpTeXでは、kcatcodeの参照を文字コードからkcatcodeの表を引き
間接的に行う方法を行っている。この方法を
ファイルなどからの読み込み時と内部処理時の両方で行っている。
upTeXでは、ファイルなどからの読み込み時は同様であるが、
- 内部処理時には、<9>でCJKトークン毎に振ったkcatcodeを読み込むように
+ 内部処理時には、<10>でCJKトークン毎に振ったkcatcodeを読み込むように
変更した。たとえ同じ文字コードでもkcatcodeの途中変更を行えば、
CJKトークン毎に異なるkcatcodeを割り当てることが出来るようになる。
-<11> 新しく \ucs プリミティヴを新設。
+<12> 新しく \ucs プリミティヴを新設。
\char\ucs"301C, \kchar\ucs"301C はU+301C(波ダッシュ)になる。
-<12> uptex, uplatex などでは -kanji=uptex と指定して
+<13> uptex, uplatex などでは -kanji=uptex と指定して
動くように実装した。
その他の漢字コード指定の場合は、
基本的に従来のpTeXと同様の結果になるはず。
-<13> 各文字が実際のフォントで利用可能な文字かどうかの判定は
+<14> 各文字が実際のフォントで利用可能な文字かどうかの判定は
uptex 本体では行わない。この判定は dviware で行うことになる。
「任意の部分実装を容認している Unicode において
文字集合の範囲の固定的な判定は不可能だ」という理由もあるが、
この仕様は pTeX でも同様となっている。
-<14> 新しく \kchar, \kchardef プリミティヴをを追加。
- \char`<文字>, \chardef では文字コードが255以下の場合には欧文動作、
+<15> 新しく \kchar, \kchardef プリミティヴをを追加。
+ \char`<文字>, \chardef では
+ kcatcode=14かつ文字コードが128〜0x2E7Fの場合には16bit 欧文動作、
+ その他文字コードが255以下の場合には8bit 欧文動作、
256以上の場合には和文動作となる。
\kchar`<文字>, \kchardef では文字コード範囲によらず和文動作となる。
-<15> set3を含むフォント(vf)を含むフォント(vf)を標準とする(2018年2月以降)。
- dviwareのset3対応の普及が進んだため。
-<16> ISO-2022-JP{-3,-2004}, EUC-JISX0213, Shift_JISX0213などの
+<16> (upTeX-2.00新規) 新しく ^^^^pqrs 記法を追加。そのときの
+ kcatcodeの設定の状態に依らず欧文16bit Unicodeの U+PQRS になる。
+ 欧文Omega/Alephと互換。
+<17> set3を含むフォント(vf)を含むフォント(vf)を標準とする。
+<18> ISO-2022-JP{-3,-2004}, EUC-JISX0213, Shift_JISX0213などの
JIS X 0213系エンコーディングも使用可能にする案もあったが
開発凍結する。
@@ -204,14 +249,14 @@ pTeX を中心に推移してきた日本の TeX ユーザーが
<2> multistrlen,kcatcode等で和文/欧文を判定して変換
-(3) 内部レジスター [和文5+24bit, 欧文4+8bit] { 最大29bit 欧文と和文で別構成※1 }
+(3) 内部レジスター [和文5+24bit, 欧文4+16bit] { 最大29bit 欧文と和文で別構成※1 }
<3> マクロ展開
-(4) 組版処理 [和文5+24bit, 欧文4+8bit]
-(4a) tfm, jfm, (ofm)へのアクセス [和文16bit, 欧文4+8bit] ※2
+(4) 組版処理 [和文5+24bit, 欧文4+16bit]
+(4a) tfm, jfm, ofmへのアクセス [和文24bit, 欧文4+16bit] ※2
<4a> ptexenc
-(4b) dviへの入出力 [和文5+24bit, 欧文4+8bit] ※3
+(4b) dviへの入出力 [和文5+24bit, 欧文4+16bit] ※3
<4b> ptexenc
(5) 出力バッファー [8bit可変長(UTF8)]
@@ -220,8 +265,7 @@ pTeX を中心に推移してきた日本の TeX ユーザーが
(6) 出力 (log, 端末など) [8bit可変長(UTF8)]
-※1: 欧文はcatcode 4bit + 文字コード8bit
-(Omegaではcatcode 4bit + 文字コード16bitだが、Omegaへの拡張を視野にいれたい。)
+※1: 欧文はcatcode 4bit + 文字コード16bit (最大0x2E7F)。
和文はkcatcode 5bit + 文字コード24bit。
オリジナルpTeXでは、和文は文字コード16bit,
kcatcodeは、文字コードを引数として表を参照して求めていたが、
@@ -232,11 +276,9 @@ U+10FFFFのUnicode最大値までを和文として処理できることを想
U+2xxxxのchar typeをdefaultの0番と解釈し、
jfmは従来のpTeX(16bit)の仕様の範囲で処理が可能。
U+FFFF超かつ可変幅は拡張jfmで対応する。
-(2), (3), (4)のあたりで欧文8bit(TeX)との共存も可能。
-欧文のcatcodeで使用しているレンジをさらに上位バイトに移動し、
-和文24bit, 欧文16bit(Omega) と共存可能にし、
-ptexencにOTPインタープリターを突っ込み、
-ofmとjfmの混在した組版を可能にすれば
+(2), (3), (4)のあたりで欧文8bit(TeX),欧文16bit(Omega/Aleph)との
+共存も可能。
+さらにOTPインタープリターを突っ込めば
upTeX + Omega = upOmegaが出来る???
◇ 文字コード関連のまとめ
@@ -266,6 +308,14 @@ text:SJIS/EUC/UTF-8など入出力の文字コード
〜0xFF ○■[h] (○)■[j] ○ ○[m] ■[o]
0x100〜 ■ (△)■[k] — ■[n] ■[o]
+[upTeX(v.2.00〜) で kcatcode=14(latin_ucs) のとき]
+ token text ^^^^abcd \char
+〜0x7F ○ ○ ○ ○
+〜0xFF ○ ○[p] ○ ○
+〜0x2E7F ○ — ○ ○
+0x2E80〜 — — — —
+
+
[a] 8bit1byteで扱うのが基本。[b]のためにこの領域が使われることもある。
[b] 8bit多byteの処理をactive文字化で実現する手法(inputenc,CJK-LaTeX等)がある。
[c] SJIS/EUCのパターンに合わない場合のみ通る。欧文TeXから見ると制限事項になる。
@@ -284,6 +334,8 @@ text:SJIS/EUC/UTF-8など入出力の文字コード
と非互換になる。
[n] 和文のみ可能。欧文は不可。pTeXとの互換性のため用意。
[o] 和文のみ可能。欧文は不可。
+[p] UTF-8の可変長多バイトのみ可能であり、文字集合はUnicodeのみを想定する。
+ active文字化してはならない。
(**) "Latin-1 Letters" (0xAA, 0xBA, 0xC0..0xD6, 0xD8..0xF6, 0xF8..0xFF),
"Latin Extended-A" (0x100..0x17F) の文字はupTeX-1.23より、
また "Latin Extended-B" (0x180..0x24F),
@@ -422,8 +474,9 @@ Korean HYSMyeongJo-Medium HYGoThic-Medium
◇ kcatcode のデフォルト値
-kcatcodeの意味は、15: not_cjk, 16: kanji, 17: kana, 18: other_kchar, 19: hangul, 20: modifier
-kcatcodeが15(not_cjk)の場合は欧文扱いになる。
+kcatcodeの意味は、14: latin_ucs, 15: not_cjk, 16: kanji, 17: kana,
+18: other_kchar, 19: hangul, 20: modifier
+kcatcodeが14(latin_ucs)または15(not_cjk)の場合は欧文扱いになる。
kcatcodeは原則としてUnicodeのblock毎に与えられる。
(Ref. http://www.unicode.org/Public/UNIDATA/Blocks.txt)
ただし、例外の文字集合が7個ある。
@@ -478,6 +531,10 @@ kcatcodeは原則としてUnicodeのblock毎に与えられる。
(0x1FE) 0xFF10..0xFF19, 0xFF21..0xFF3A, 0xFF41..0xFF5A <17> Fullwidth digit and latin alphabet
(0x1FF) 0xFF66..0xFF6F, 0xFF71..0xFF9D <17> Halfwidth katakana
○Unicodeの範囲外を合成文字に対応するupTeXの内部コードとして利用する
+ (0x15F) 0x110000..0x11FFFF <16> for japanese-otf, japanese-otf-uptex macros
+ (0x160) 0x120000..0x12FFFF <16> for japanese-otf, japanese-otf-uptex macros
+ (0x161) 0x130000..0x13FFFF <16> for japanese-otf, japanese-otf-uptex macros
+ (0x162) 0x140000..0x14FFFF <16> for japanese-otf, japanese-otf-uptex macros
(0x170) 0x220000..0x23FFFF <17> Kana with Voiced Sound Mark
(0x171) 0x240000..0x25E6E5 <17> Kana with Semi-Voiced Sound Mark
(0x172) 0x25E6E6..0x25FFFF <18> Emoji Flag Sequence
@@ -599,7 +656,7 @@ UnicodeとCJK(JIS X 0213等)の文字を想定して設定されたものの中
◇ 動作状況
-◎ uptex-1.xxの配布に含めたもの
+◎ uptex-2.xxの配布に含めたもの
uptex 動いている。無問題。
◎ 別の配布に含めたもの
otfパッケージ japanese-otf-uptex として公開、CTANに登録した。
@@ -679,7 +736,7 @@ Unicodeのファイル名 Unix/LinuxではlocaleがUTF-8ならば使用出来
Windowsでは、TeX Live 2014 に取り込まれた。
◎ 現在の配布に含んでいないもの
xdvi uptex-0.30ではset3も含めて動いている。無問題。
- uptex-1.xxの配布には含まない。
+ uptex-2.xxの配布には含まない。
dviout set2の範囲では改造無しでフォントの設定のみでほぼ動いている。
set3の範囲は文字化けしてしまうが、落ちることはない。
OTFパッケージの \CID{} が Unicode 経由なのは、 pLaTeX と同様。
@@ -690,16 +747,17 @@ dviout set2の範囲では改造無しでフォントの設定のみでほぼ
http://tug.org/svn/dviout?view=revision&revision=178
https://ctan.org/pkg/dviout
utfパッケージ uptex-0.30では動いている。
- uptex-1.xxの配布には含まない。
+ uptex-2.xxの配布には含まない。
◇ 今後の課題、要検討事項など
< 内部実装関連 >
[1] Unicodeで複数のコードポイントを必要とする文字(IVS,
文字合成で表される仮名等)を使えるようにする。(upTeX-1.35以降取り組み中)
+[2] 16bit欧文のサポートを充実させる。(upTeX-2.00以降取り組み中)
< dviware, 外部ソフト関連 >
-[2] upmpost で多書体が使えるようにする。
+[3] upmpost で多書体が使えるようにする。
< その他 >
-[3] ドキュメントの充実。
-[4] 英語ドキュメントを書く。
+[4] ドキュメントの充実。
+[5] 英語ドキュメントを書く。
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/02uptex_changelog_utf8.txt b/Master/texmf-dist/doc/uptex/uptex-base/02uptex_changelog_utf8.txt
index 3f9c871abc1..8d3c614d58c 100644
--- a/Master/texmf-dist/doc/uptex/uptex-base/02uptex_changelog_utf8.txt
+++ b/Master/texmf-dist/doc/uptex/uptex-base/02uptex_changelog_utf8.txt
@@ -1,5 +1,43 @@
### ChangeLog / 変更履歴
+2025.01.03 Ver2.00-20250103a
+ TeXLive svn r73271 base
+ Build/source/texk/web2c/uptexdir:
+ * uptex-m.ch, kanji.c:
+ Accept extended upTeX internal encoding also in internal
+ encoding EUC/SJIS (pTeX-compatible mode).
+ Set default kcatcode for japanese-otf-uptex macros
+ to 16 (kanji).
+ * upkcat.test, tests/upkcat{,-{e,s}}.txt,:
+ Update tests.
+ * uptex-widow.test, tests/jchwidow.tex, tests/up-jchwidow.log:
+ Add new tests for widow penalty originally
+ written by Kitagawa-san.
+ https://github.com/texjporg/tex-jp-build/issues/103
+ * COPYRIGHT, COPYRIGHT.ja:
+ Update copyright year.
+ 00readme_uptex.txt, 01uptex_doc_utf8.txt:
+ Update.
+
+2024.12.28 Ver2.00-20241228a
+ TeXLive svn r72803 base
+ Build/source/texk/web2c/uptexdir:
+ * uptex-m.ch, uptex_version.h:
+ Bump upTeX version.
+ * uptex-m.ch, uptex.defines, kanji.{c,h}:
+ Support Latin Unicode and 16bit OFM Level-0.
+ Implement new kcatcode (latin_ucs(14)).
+ https://github.com/texjporg/tex-jp-build/issues/170
+ * uptex-{ofm,lmr,noto,prim}.test, tests/lmr{1,2}.tex,
+ tests/noto1.tex, tests/up-ofm.tex, tests/up-prim.tex,
+ tests/up-lmr{1,2}.log, tests/up-noto1.log,
+ tests/up-ofm.log, tests/up-ofma.typ, tests/up-prim.log:
+ Update tests.
+ samples:
+ Update.
+ 00readme_uptex.txt, 01uptex_doc_utf8.txt:
+ Update.
+
2024.10.12 Ver1.35-20241012a
TeXLive svn r72532 base
Build/source/texk/web2c/uptexdir:
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/LICENSE b/Master/texmf-dist/doc/uptex/uptex-base/LICENSE
index 2b1e4fd7638..c8ef21cad41 100644
--- a/Master/texmf-dist/doc/uptex/uptex-base/LICENSE
+++ b/Master/texmf-dist/doc/uptex/uptex-base/LICENSE
@@ -1,6 +1,6 @@
Copyright (c) 2010 ASCII MEDIA WORKS
-Copyright (c) 2016-2024 Takuji Tanaka
-Copyright (c) 2016-2024 Japanese TeX Development Community
+Copyright (c) 2016-2025 Takuji Tanaka
+Copyright (c) 2016-2025 Japanese TeX Development Community
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/README.md b/Master/texmf-dist/doc/uptex/uptex-base/README.md
index 7d1c4433045..1f0495af966 100644
--- a/Master/texmf-dist/doc/uptex/uptex-base/README.md
+++ b/Master/texmf-dist/doc/uptex/uptex-base/README.md
@@ -17,6 +17,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)).
## Release Date
-2024-10-12
+2025-01-03
Japanese TeX Development Community
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/00readme_uptex_samples.txt b/Master/texmf-dist/doc/uptex/uptex-base/samples/00readme_uptex_samples.txt
index 6a6b07645f8..be10a26457b 100644
--- a/Master/texmf-dist/doc/uptex/uptex-base/samples/00readme_uptex_samples.txt
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/00readme_uptex_samples.txt
@@ -25,6 +25,11 @@ aozora-ujreport-utf8.tex, aozora-utarticle-utf8.tex,
aozora-utbook-utf8.tex, aozora-utreport-utf8.tex
: test for document classes
+udhr-algrya.tex, udhr-cgrmd.tex, udhr-clara.tex, udhr-dejavu.tex,
+udhr-gntm.tex, udhr-kurier.tex, udhr-lmdrn.tex, udhr-noto.tex,
+udhr-roboto.tex, udhr-source.tex, udhr-common.tex
+ : test for encoding conversion between UTF-8 and TeX 8bit encodings
+
adobe-cid.tex, adobe-cns-utf8.tex, adobe-gb-utf8.tex,
adobe-jp-utf8.tex, adobe-kr-utf8.tex
: test for Adobe-CNS, Adobe-GB, Adobe-Japan, Adobe-Korea
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/Makefile b/Master/texmf-dist/doc/uptex/uptex-base/samples/Makefile
index b9167d77874..6f0f3063cab 100644
--- a/Master/texmf-dist/doc/uptex/uptex-base/samples/Makefile
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/Makefile
@@ -1,5 +1,6 @@
UPTEX = uptex
PTEX = ptex
+EUPTEX = euptex
UPLATEX = uplatex
PLATEX = platex
UPBIBTEX = upbibtex
@@ -20,7 +21,7 @@ CONVBKMKO = convbkmk -g -o
PS2PDF = ps2pdf
all: uplatex-euc.fmt uplatex-sjis.fmt \
- misc kin widow uptex uplatex aozora adobe \
+ misc kin widow uptex uplatex aozora udhr adobe \
babel greek punct encswitch \
jscman tfpl otf jbib jisuni dvi2tty bkmk consio eplatex texxet
@@ -104,6 +105,13 @@ aozora:
$(DVIPS) aozora-$$cls-utf8 ; \
done
+# It requires fonts distributed at CTAN.
+udhr:
+ for font in algrya cgrmd clara dejavu gntm kurier lmdrn noto roboto source; do \
+ $(EUPTEX) udhr-$$font ; \
+ $(DVIPDFMX) udhr-$$font ; \
+ done
+
adobe: adobeu adobec
adobeu:
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-algrya.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-algrya.tex
new file mode 100644
index 00000000000..7d4630df06b
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-algrya.tex
@@ -0,0 +1,161 @@
+%!euptex
+
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+\parindent=0pt
+
+\input udhr-common
+
+\spaceskip 0.36em plus 0.17em minus 0.15em
+
+
+\font\f=cmr10
+{\f Alegreya}
+
+\vskip 2.0ex
+{\f T1}
+
+\font in T1\ToneZZZSerifRegular=Alegreya-Regular-lf-t1
+\ToneZZZSerifRegular
+\TextA
+
+\font in T1\ToneZZZSerifItalic=Alegreya-Italic-lf-t1
+\ToneZZZSerifItalic
+\TextA
+
+\font in T1\ToneZZZSansRegular=AlegreyaSans-Regular-lf-t1
+\ToneZZZSansRegular
+\TextA
+
+\font in T1\ToneZZZSansItalic=AlegreyaSans-Italic-lf-t1
+\ToneZZZSansItalic
+\TextA
+
+\font in T1\ToneZZZSansSC=AlegreyaSansSC-Regular-lf-sc-t1
+\ToneZZZSansSC
+\TextA
+
+\vskip 2.0ex
+{\f LY1}
+
+\font in LY1\LYoneZZZSerifRegular=Alegreya-Regular-lf-ly1
+\LYoneZZZSerifRegular
+\TextB
+
+\font in LY1\LYoneZZZSerifItalic=Alegreya-Italic-lf-ly1
+\LYoneZZZSerifItalic
+\TextB
+
+\font in LY1\LYoneZZZSansRegular=AlegreyaSans-Regular-lf-ly1
+\LYoneZZZSansRegular
+\TextB
+
+\font in LY1\LYoneZZZSansItalic=AlegreyaSans-Italic-lf-ly1
+\LYoneZZZSansItalic
+\TextB
+
+\font in LY1\LYoneZZZSansSC=AlegreyaSansSC-Regular-lf-sc-ly1
+\LYoneZZZSansSC
+\TextB
+
+\vskip 2.0ex
+{\f LGR}
+\catcode"97=11
+
+\font in LGR\LgrZZZSerifRegular=Alegreya-Regular-lf-lgr
+\LgrZZZSerifRegular
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSerifItalic=Alegreya-Italic-lf-lgr
+\LgrZZZSerifItalic
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSansRegular=AlegreyaSans-Regular-lf-lgr
+\LgrZZZSansRegular
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSansItalic=AlegreyaSans-Italic-lf-lgr
+\LgrZZZSansItalic
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSansSC=AlegreyaSansSC-Regular-lf-sc-lgr
+\LgrZZZSansSC
+\TextG
+
+\TextH
+
+
+\vfil
+\eject
+\spaceskip 0.12em plus 0.10em minus 0.05em
+
+\font in TS1\TSoneZZZSerifRegular=Alegreya-Regular-lf-ts1
+
+{\f TS1}
+
+\TSoneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="2B0 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2E19
+\PrintCode
+
+{\f T1}
+
+\ToneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="203B
+\PrintCode
+\ChrA="2423 \ChrB="2424
+\PrintCode
+
+{\f LY1}
+
+\LYoneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f LGR}
+
+\LgrZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="259 \ChrB="260
+\PrintCode
+\ChrA="370 \ChrB="400
+\PrintCode
+\ChrA="1F00 \ChrB="1FFF
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f sigma:} ^^63^^73^^73
+
+\catcode"0C=12
+
+[\char"39F] [\char"38C] ['\relax Ο] ['Ο],
+[\char"391] ['\char"0C] [\char"27\char"391/\char"27\char"395/\char"27\char"397/\char"27\char"399/\char"27\char"39F],
+[\char"3B1] ['\char"0E] [\char"27\char"3B1/\char"27\char"3B5/\char"27\char"3B7/\char"27\char"3B9/\char"27\char"3BF/\char"27\char"3C5/\char"27\char"3C9]
+
+[^^^^039f] [^^^^038c] ['\relax ^^^^039f] [^^27^^^^039f],
+[^^^^0391] [^^27^^0c] [^^^^0386/^^^^0388/^^^^0389/^^^^038a/^^^^038c],
+[^^^^03b1] [^^27^^0e] [^^^^03ac/^^^^03ad/^^^^03ae/^^^^03af/^^^^03cc/^^^^03cd/^^^^03ce]
+
+\bye
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-cgrmd.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-cgrmd.tex
new file mode 100644
index 00000000000..622ba9cf638
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-cgrmd.tex
@@ -0,0 +1,185 @@
+%!euptex
+
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+\parindent=0pt
+
+\input udhr-common
+
+\spaceskip 0.36em plus 0.17em minus 0.15em
+
+
+\font\f=cmr10
+{\f Cormorant Garamond}
+
+\vskip 2.0ex
+{\f T1}
+
+\font in T1\ToneZZZRegular=CormorantGaramond-Regular-lf-t1
+\ToneZZZRegular
+\TextA
+
+\font in T1\ToneZZZItalic=CormorantGaramond-Italic-lf-t1
+\ToneZZZItalic
+\TextA
+
+\font in T1\ToneZZZBold=CormorantGaramond-Bold-lf-t1
+\ToneZZZBold
+\TextA
+
+\font in T1\ToneZZZBoldItalic=CormorantGaramond-BoldItalic-lf-t1
+\ToneZZZBoldItalic
+\TextA
+
+\vskip 2.0ex
+{\f LY1}
+
+\font in LY1\LYoneZZZRegular=CormorantGaramond-Regular-lf-ly1
+\LYoneZZZRegular
+\TextB
+
+\font in LY1\LYoneZZZItalic=CormorantGaramond-Italic-lf-ly1
+\LYoneZZZItalic
+\TextB
+
+\font in LY1\LYoneZZZBold=CormorantGaramond-Bold-lf-ly1
+\LYoneZZZBold
+\TextB
+
+\font in LY1\LYoneZZZBoldItalic=CormorantGaramond-BoldItalic-lf-ly1
+\LYoneZZZBoldItalic
+\TextB
+
+\vskip 2.0ex
+{\f T2A}
+
+\font in T2A\TtwoaZZZRegular=CormorantGaramond-Regular-lf-t2a
+\TtwoaZZZRegular
+\TextC
+
+\font in T2A\TtwoaZZZItalic=CormorantGaramond-Italic-lf-t2a
+\TtwoaZZZItalic
+\TextC
+
+\font in T2A\TtwoaZZZBold=CormorantGaramond-Bold-lf-t2a
+\TtwoaZZZBold
+\TextC
+
+\font in T2A\TtwoaZZZBoldItalic=CormorantGaramond-BoldItalic-lf-t2a
+\TtwoaZZZBoldItalic
+\TextC
+
+\vskip 2.0ex
+{\f T2B}
+
+\font in T2B\TtwobZZZRegular=CormorantGaramond-Regular-lf-t2b
+\TtwobZZZRegular
+\TextD
+
+\font in T2B\TtwobZZZItalic=CormorantGaramond-Italic-lf-t2b
+\TtwobZZZItalic
+\TextD
+
+\font in T2B\TtwobZZZBold=CormorantGaramond-Bold-lf-t2b
+\TtwobZZZBold
+\TextD
+
+\font in T2B\TtwobZZZBoldItalic=CormorantGaramond-BoldItalic-lf-t2b
+\TtwobZZZBoldItalic
+\TextD
+
+\vskip 2.0ex
+{\f T2C}
+
+\font in T2C\TtwocZZZRegular=CormorantGaramond-Regular-lf-t2c
+\TtwocZZZRegular
+\TextE
+
+\font in T2C\TtwocZZZItalic=CormorantGaramond-Italic-lf-t2c
+\TtwocZZZItalic
+\TextE
+
+\font in T2C\TtwocZZZBold=CormorantGaramond-Bold-lf-t2c
+\TtwocZZZBold
+\TextE
+
+\font in T2C\TtwocZZZBoldItalic=CormorantGaramond-BoldItalic-lf-t2c
+\TtwocZZZBoldItalic
+\TextE
+
+
+
+\vfil
+\eject
+\spaceskip 0.12em plus 0.10em minus 0.05em
+
+\font in TS1\TSoneZZZRegular=CormorantGaramond-Regular-lf-ts1
+
+{\f TS1}
+
+\TSoneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="2B0 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2E19
+\PrintCode
+
+{\f T1}
+
+\ToneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="203B
+\PrintCode
+
+{\f LY1}
+
+\LYoneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f T2A}
+
+\TtwoaZZZRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="500
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2B}
+
+\TtwobZZZRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2C}
+
+\TtwocZZZRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+\bye
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-clara.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-clara.tex
new file mode 100644
index 00000000000..abeb4b4af3a
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-clara.tex
@@ -0,0 +1,234 @@
+%!euptex
+
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+\parindent=0pt
+
+\input udhr-common
+
+\spaceskip 0.36em plus 0.17em minus 0.15em
+
+
+\font\f=cmr10
+{\f Clara}
+
+\vskip 2.0ex
+{\f T1}
+
+\font in T1\ToneZZZSerifRegular=ClaraRegular-tlf-t1
+\ToneZZZSerifRegular
+\TextA
+
+\font in T1\ToneZZZSerifItalic=ClaraItalic-tlf-t1
+\ToneZZZSerifItalic
+\TextA
+
+\font in T1\ToneZZZSerifBold=ClaraBold-tlf-t1
+\ToneZZZSerifBold
+\TextA
+
+\font in T1\ToneZZZSerifBoldItalic=ClaraBoldItalic-tlf-t1
+\ToneZZZSerifBoldItalic
+\TextA
+
+\vskip 2.0ex
+{\f LY1}
+
+\font in LY1\LYoneZZZSerifRegular=ClaraRegular-tlf-ly1
+\LYoneZZZSerifRegular
+\TextB
+
+\font in LY1\LYoneZZZSerifItalic=ClaraItalic-tlf-ly1
+\LYoneZZZSerifItalic
+\TextB
+
+\font in LY1\LYoneZZZSerifBold=ClaraBold-tlf-ly1
+\LYoneZZZSerifBold
+\TextB
+
+\font in LY1\LYoneZZZSerifBoldItalic=ClaraBoldItalic-tlf-ly1
+\LYoneZZZSerifBoldItalic
+\TextB
+
+\vskip 2.0ex
+{\f T2A}
+
+\font in T2A\TtwoaZZZSerifRegular=ClaraRegular-tlf-t2a
+\TtwoaZZZSerifRegular
+\TextC
+
+\font in T2A\TtwoaZZZSerifItalic=ClaraItalic-tlf-t2a
+\TtwoaZZZSerifItalic
+\TextC
+
+\font in T2A\TtwoaZZZSerifBold=ClaraBold-tlf-t2a
+\TtwoaZZZSerifBold
+\TextC
+
+\font in T2A\TtwoaZZZSerifBoldItalic=ClaraBoldItalic-tlf-t2a
+\TtwoaZZZSerifBoldItalic
+\TextC
+
+\vskip 2.0ex
+{\f T2B}
+
+\font in T2B\TtwobZZZSerifRegular=ClaraRegular-tlf-t2b
+\TtwobZZZSerifRegular
+\TextD
+
+\font in T2B\TtwobZZZSerifItalic=ClaraItalic-tlf-t2b
+\TtwobZZZSerifItalic
+\TextD
+
+\font in T2B\TtwobZZZSerifBold=ClaraBold-tlf-t2b
+\TtwobZZZSerifBold
+\TextD
+
+\font in T2B\TtwobZZZSerifBoldItalic=ClaraBoldItalic-tlf-t2b
+\TtwobZZZSerifBoldItalic
+\TextD
+
+\vskip 2.0ex
+{\f T2C}
+
+\font in T2C\TtwocZZZSerifRegular=ClaraRegular-tlf-t2c
+\TtwocZZZSerifRegular
+\TextE
+
+\font in T2C\TtwocZZZSerifItalic=ClaraItalic-tlf-t2c
+\TtwocZZZSerifItalic
+\TextE
+
+\font in T2C\TtwocZZZSerifBold=ClaraBold-tlf-t2c
+\TtwocZZZSerifBold
+\TextE
+
+\font in T2C\TtwocZZZSerifBoldItalic=ClaraBoldItalic-tlf-t2c
+\TtwocZZZSerifBoldItalic
+\TextE
+
+\vfil
+\eject
+
+{\f LGR}
+\catcode"97=11
+
+\font in LGR\LgrZZZSerifRegular=ClaraRegular-tlf-lgr
+\LgrZZZSerifRegular
+\TextG
+
+\font in LGR\LgrZZZSerifItalic=ClaraItalic-tlf-lgr
+\LgrZZZSerifItalic
+\TextG
+
+\font in LGR\LgrZZZSerifBold=ClaraBold-tlf-lgr
+\LgrZZZSerifBold
+\TextG
+
+\font in LGR\LgrZZZSerifBoldItalic=ClaraBoldItalic-tlf-lgr
+\LgrZZZSerifBoldItalic
+\TextG
+
+
+\vfil
+\eject
+\spaceskip 0.12em plus 0.10em minus 0.05em
+
+\font in TS1\TSoneZZZSerifRegular=ClaraRegular-tlf-ts1
+
+{\f TS1}
+
+\TSoneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="2B0 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2E19
+\PrintCode
+
+{\f T1}
+
+\ToneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="203B
+\PrintCode
+\ChrA="2423 \ChrB="2424
+\PrintCode
+
+{\f LY1}
+
+\LYoneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f T2A}
+
+\TtwoaZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="500
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2B}
+
+\TtwobZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2C}
+
+\TtwocZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f LGR}
+
+\LgrZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="259 \ChrB="260
+\PrintCode
+\ChrA="370 \ChrB="400
+\PrintCode
+\ChrA="1F00 \ChrB="1FFF
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f sigma:} ^^63^^73^^73
+
+\catcode"0C=12
+
+[\char"39F] [\char"38C] ['\relax Ο] ['Ο],
+[\char"391] ['\char"0C] [\char"27\char"391/\char"27\char"395/\char"27\char"397/\char"27\char"399/\char"27\char"39F],
+[\char"3B1] ['\char"0E] [\char"27\char"3B1/\char"27\char"3B5/\char"27\char"3B7/\char"27\char"3B9/\char"27\char"3BF/\char"27\char"3C5/\char"27\char"3C9]
+
+[^^^^039f] [^^^^038c] ['\relax ^^^^039f] [^^27^^^^039f],
+[^^^^0391] [^^27^^0c] [^^^^0386/^^^^0388/^^^^0389/^^^^038a/^^^^038c],
+[^^^^03b1] [^^27^^0e] [^^^^03ac/^^^^03ad/^^^^03ae/^^^^03af/^^^^03cc/^^^^03cd/^^^^03ce]
+
+\bye
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-common.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-common.tex
new file mode 100644
index 00000000000..0c9d7cc9aa6
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-common.tex
@@ -0,0 +1,114 @@
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+
+% for {,e}uptex
+\ifx\kcatcode\undefined\else
+\kcatcode"80=14
+\kcatcode"A7=14
+\kcatcode"C0=14
+\kcatcode"100=14
+\kcatcode"180=14
+\kcatcode"250=14
+\kcatcode"2B0=14
+\kcatcode"370=14
+\kcatcode"400=14
+\kcatcode"500=14
+\kcatcode"1E00=14
+\kcatcode"1F00=14
+\kcatcode"2000=14
+\kcatcode"20A0=14
+\kcatcode"2100=14
+\kcatcode"2190=14
+\kcatcode"2200=14
+\kcatcode"2300=14
+\kcatcode"2400=14
+\kcatcode"25A0=14
+\kcatcode"2600=14
+\kcatcode"2700=14
+\kcatcode"27C0=14
+\kcatcode"2E00=14
+\fi
+
+\catcode"C0=11
+
+\newcount\ChrA\newcount\ChrB
+\def\SetCatCode#1{%
+ \loop\ifnum\ChrA<\ChrB
+ \catcode\ChrA=#1
+ \sfcode\ChrA=1000
+ \lccode\ChrA=\ChrA
+ \advance\ChrA 1\relax \repeat
+}
+
+\def\PrintCode{%
+ \loop\ifnum\ChrA<\ChrB
+ \catcode\ChrA=11
+ \iffontchar\font\ChrA{\f(}{\char\ChrA}{\f)} \fi
+ \advance\ChrA 1\relax \repeat
+}
+
+\ChrA="100 \ChrB="250
+\SetCatCode{11}
+\ChrA="370 \ChrB="530
+\SetCatCode{11}
+\ChrA="1E00 \ChrB="1F00
+\SetCatCode{11}
+\ChrA="1F00 \ChrB="2000
+\SetCatCode{11}
+\ChrA="2019 \ChrB="201E
+\SetCatCode{11}
+\ChrA="2190 \ChrB="2200
+\SetCatCode{11}
+
+
+\def\TextA{% Czech
+Všichni lidé rodí se svobodní a sobě rovní co do důstojnosti a práv.
+Jsou nadáni rozumem a svědomím a mají spolu jednat v duchu bratrství.
+}
+
+\def\TextB{% Danish
+Alle mennesker er født frie og lige i værdighed og rettigheder.
+De er udstyret med fornuft og samvittighed, og de bør handle mod hverandre i en broderskabets ånd.
+}
+
+\def\TextF{% Vietnamese
+Mọi người sinh ra đều tự do và bình đẳng về nhân phẩm và các quyền.
+Con người được ban cho lý trí và lương tâm, và phải hành động với tinh thần huynh đệ.
+}
+
+\def\TextI{% Lithuanian
+Visi žmonės gimsta laisvi ir lygūs savo orumu ir teisėmis.
+Jiems suteiktas protas ir sąžinė ir jie turi elgtis vienas kito atžvilgiu kaip broliai.
+}
+
+\def\TextC{% Serbian (Cyrillic)
+Cвa људскa бићa рaђajу сe слoбoднa и jeднaкa у дoстojaнству и прaвимa.
+Oнa су oбдaрeнa рaзумoм и свeшћу и трeбajeдни прeмa другимa дa пoступajу у духу брaтствa.
+}
+
+%\def\TextC{% Ukrainian
+%Всі люди народжуються вільними і рівними у своїй гідності та правах.
+%Вони наділені розумом і совістю і повинні діяти у відношенні один до одного в дусі братерства.
+%}
+
+\def\TextD{% Belorussian
+Усе людзi нараджаюцца свабоднымi i роўнымi ў сваёй годнасцi i правах.
+Яны надзелены розумам i сумленнем i павiнны ставiцца адзiн да аднаго ў духу брацтва.
+}
+
+\hyphenation{наде-лены}
+\def\TextE{% Russian
+Все люди рождаются свободными и равными в своем достоинстве и правах.
+Они наделены разумом и совестью и должны поступать в отношении друг друга в духе братства.
+}
+
+\hyphenation{αδελφο-σύνης προι-κι-σμέ-ν-οι αξιο-πρέ-πε-ια ἀλλή-λοις}
+\def\TextG{% Greek Monotonic
+'Ολοι οι άνθρωποι γεννιούνται ελεύθεροι και ίσοι στην αξιοπρέπεια και τα δικαιώματα.
+Είναι προικισμένοι με λογική και συνείδηση, και οφείλουν να συμπεριφέρονται μεταξύ τους με πνεύμα αδελφοσύνης.
+}
+\def\TextH{% Greek Polytonic
+'Ολοι οἱ ἄνθρωποι γεννῶνται ἐλεύθεροι καὶ ἴσοι ἐν τῇ ἀξιοπρεπείᾳ καὶ ταῖς ἐξουσίαις.
+Εἰσὶ προικισμένοι μετὰ λογικῆς καὶ συνειδήσεως, καὶ ὀφείλουσιν συμπεριφέρεσθαι ἀλλήλοις ἐν πνεύματι ἀδελφοσύνης.
+}
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-dejavu.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-dejavu.tex
new file mode 100644
index 00000000000..06ca31e479d
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-dejavu.tex
@@ -0,0 +1,257 @@
+%!euptex
+
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+\parindent=0pt
+
+\input udhr-common
+
+\spaceskip 0.36em plus 0.17em minus 0.15em
+
+
+\font\f=cmr10
+{\f DejaVu}
+
+\vskip 2.0ex
+{\f T1}
+
+\font in T1\ToneZZZSerifRegular=DejaVuSerif-tlf-t1
+\ToneZZZSerifRegular
+\TextA
+
+\font in T1\ToneZZZSerifItalic=DejaVuSerif-Italic-tlf-t1
+\ToneZZZSerifItalic
+\TextA
+
+\font in T1\ToneZZZSansRegular=DejaVuSans-tlf-t1
+\ToneZZZSansRegular
+\TextA
+
+\font in T1\ToneZZZSansItalic=DejaVuSans-Oblique-tlf-t1
+\ToneZZZSansItalic
+\TextA
+
+\font in T1\ToneZZZSansMono=DejaVuSansMono-tlf-t1
+\ToneZZZSansMono
+\TextA
+
+\font in T1\ToneZZZSerifCondensed=DejaVuSerifCondensed-tlf-t1
+\ToneZZZSerifCondensed
+\TextA
+
+\vskip 2.0ex
+{\f T2A}
+
+\font in T2A\TtwoaZZZSerifRegular=DejaVuSerif-tlf-t2a
+\TtwoaZZZSerifRegular
+\TextC
+
+\font in T2A\TtwoaZZZSerifItalic=DejaVuSerif-Italic-tlf-t2a
+\TtwoaZZZSerifItalic
+\TextC
+
+\font in T2A\TtwoaZZZSansRegular=DejaVuSans-tlf-t2a
+\TtwoaZZZSansRegular
+\TextC
+
+\font in T2A\TtwoaZZZSansItalic=DejaVuSans-Oblique-tlf-t2a
+\TtwoaZZZSansItalic
+\TextC
+
+\font in T2A\TtwoaZZZSansMono=DejaVuSansMono-tlf-t2a
+\TtwoaZZZSansMono
+\TextC
+
+\font in T2A\TtwoaZZZSerifCondensed=DejaVuSerifCondensed-tlf-t2a
+\TtwoaZZZSerifCondensed
+\TextC
+
+\vskip 2.0ex
+{\f T2B}
+
+\font in T2B\TtwobZZZSerifRegular=DejaVuSerif-tlf-t2b
+\TtwobZZZSerifRegular
+\TextD
+
+\font in T2B\TtwobZZZSerifItalic=DejaVuSerif-Italic-tlf-t2b
+\TtwobZZZSerifItalic
+\TextD
+
+\font in T2B\TtwobZZZSansRegular=DejaVuSans-tlf-t2b
+\TtwobZZZSansRegular
+\TextD
+
+\font in T2B\TtwobZZZSansItalic=DejaVuSans-Oblique-tlf-t2b
+\TtwobZZZSansItalic
+\TextD
+
+\font in T2B\TtwobZZZSansMono=DejaVuSansMono-tlf-t2b
+\TtwobZZZSansMono
+\TextD
+
+\font in T2B\TtwobZZZSerifCondensed=DejaVuSerifCondensed-tlf-t2b
+\TtwobZZZSerifCondensed
+\TextD
+
+\vfil
+\eject
+
+{\f T2C}
+
+\font in T2C\TtwocZZZSerifRegular=DejaVuSerif-tlf-t2c
+\TtwocZZZSerifRegular
+\TextE
+
+\font in T2C\TtwocZZZSerifItalic=DejaVuSerif-Italic-tlf-t2c
+\TtwocZZZSerifItalic
+\TextE
+
+\font in T2C\TtwocZZZSansRegular=DejaVuSans-tlf-t2c
+\TtwocZZZSansRegular
+\TextE
+
+\font in T2C\TtwocZZZSansItalic=DejaVuSans-Oblique-tlf-t2c
+\TtwocZZZSansItalic
+\TextE
+
+\font in T2C\TtwocZZZSansMono=DejaVuSansMono-tlf-t2c
+\TtwocZZZSansMono
+\TextE
+
+\font in T2B\TtwocZZZSerifCondensed=DejaVuSerifCondensed-tlf-t2c
+\TtwocZZZSerifCondensed
+\TextE
+
+\vskip 2.0ex
+{\f LGR}
+\catcode"97=11
+
+\font in LGR\LgrZZZSerifRegular=DejaVuSerif-tlf-lgr
+\LgrZZZSerifRegular
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSerifItalic=DejaVuSerif-Italic-tlf-lgr
+\LgrZZZSerifItalic
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSansRegular=DejaVuSans-tlf-lgr
+\LgrZZZSansRegular
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSansItalic=DejaVuSans-Oblique-tlf-lgr
+\LgrZZZSansItalic
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSansMono=DejaVuSansMono-tlf-lgr
+\LgrZZZSansMono
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSerifCondensed=DejaVuSerifCondensed-tlf-lgr
+\LgrZZZSerifCondensed
+\TextG
+
+\TextH
+
+
+\vfil
+\eject
+\spaceskip 0.12em plus 0.10em minus 0.05em
+
+\font in TS1\TSoneZZZSerifRegular=DejaVuSerif-tlf-ts1
+
+{\f TS1}
+
+\TSoneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="2B0 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2E19
+\PrintCode
+
+{\f T1}
+
+\ToneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="203B
+\PrintCode
+\ChrA="2423 \ChrB="2424
+\PrintCode
+
+{\f T2A}
+
+\TtwoaZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="500
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2B}
+
+\TtwobZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2C}
+
+\TtwocZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f LGR}
+
+\LgrZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="259 \ChrB="260
+\PrintCode
+\ChrA="370 \ChrB="400
+\PrintCode
+\ChrA="1F00 \ChrB="1FFF
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f sigma:} ^^63^^73^^73
+
+\catcode"0C=12
+
+[\char"39F] [\char"38C] ['\relax Ο] ['Ο],
+[\char"391] ['\char"0C] [\char"27\char"391/\char"27\char"395/\char"27\char"397/\char"27\char"399/\char"27\char"39F],
+[\char"3B1] ['\char"0E] [\char"27\char"3B1/\char"27\char"3B5/\char"27\char"3B7/\char"27\char"3B9/\char"27\char"3BF/\char"27\char"3C5/\char"27\char"3C9]
+
+[^^^^039f] [^^^^038c] ['\relax ^^^^039f] [^^27^^^^039f],
+[^^^^0391] [^^27^^0c] [^^^^0386/^^^^0388/^^^^0389/^^^^038a/^^^^038c],
+[^^^^03b1] [^^27^^0e] [^^^^03ac/^^^^03ad/^^^^03ae/^^^^03af/^^^^03cc/^^^^03cd/^^^^03ce]
+
+\bye
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-gntm.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-gntm.tex
new file mode 100644
index 00000000000..0edad907ab6
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-gntm.tex
@@ -0,0 +1,306 @@
+%!euptex
+
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+\vsize=230mm
+\parindent=0pt
+
+\input udhr-common
+
+\spaceskip 0.36em plus 0.17em minus 0.15em
+
+
+\font\f=cmr10
+{\f Gentium}
+
+\vskip 2.0ex
+{\f T1}
+
+\font in T1\ToneZZZRegular=ec-gentiumplus-regular
+\ToneZZZRegular
+\TextA
+
+\font in T1\ToneZZZItalic=ec-gentiumplus-italic
+\ToneZZZItalic
+\TextA
+
+\font in T1\ToneZZZBold=ec-gentiumbasic-bold
+\ToneZZZBold
+\TextA
+
+\font in T1\ToneZZZBoldItalic=ec-gentiumbasic-bolditalic
+\ToneZZZBoldItalic
+\TextA
+
+\vskip 2.0ex
+{\f LY1}
+
+\font in LY1\LYoneZZZRegular=texnansi-gentiumplus-regular
+\LYoneZZZRegular
+\TextB
+
+\font in LY1\LYoneZZZItalic=texnansi-gentiumplus-italic
+\LYoneZZZItalic
+\TextB
+
+\font in LY1\LYoneZZZBold=texnansi-gentiumbasic-bold
+\LYoneZZZBold
+\TextB
+
+\font in LY1\LYoneZZZBoldItalic=texnansi-gentiumbasic-bolditalic
+\LYoneZZZBoldItalic
+\TextB
+
+\vskip 2.0ex
+{\f T5}
+
+\font in T5\TfiveZZZRegular=t5-gentiumplus-regular
+\TfiveZZZRegular
+\TextF
+
+\font in T5\TfiveZZZItalic=t5-gentiumplus-italic
+\TfiveZZZItalic
+\TextF
+
+\font in T5\TfiveZZZBold=t5-gentiumbasic-bold
+\TfiveZZZBold
+\TextF
+
+\font in T5\TfiveZZZBoldItalic=t5-gentiumbasic-bolditalic
+\TfiveZZZBoldItalic
+\TextF
+
+\vskip 2.0ex
+{\f L7X}
+
+\font in L7X\LsvnXZZZRegular=l7x-gentiumplus-regular
+\LsvnXZZZRegular
+\TextI
+
+\font in L7X\LsvnXZZZItalic=l7x-gentiumplus-italic
+\LsvnXZZZItalic
+\TextI
+
+\font in L7X\LsvnXZZZBold=l7x-gentiumbasic-bold
+\LsvnXZZZBold
+\TextI
+
+\font in L7X\LsvnXZZZBoldItalic=l7x-gentiumbasic-bolditalic
+\LsvnXZZZBoldItalic
+\TextI
+
+\vfil
+\eject
+
+{\f T2A}
+
+\font in T2A\TtwoaZZZRegular=t2a-gentiumplus-regular
+\TtwoaZZZRegular
+\TextC
+
+\font in T2A\TtwoaZZZItalic=t2a-gentiumplus-italic
+\TtwoaZZZItalic
+\TextC
+
+%\font in T2A\TtwoaZZZBold=t2a-gentiumbasic-bold
+%\TtwoaZZZBold
+%\TextC
+
+%\font in T2A\TtwoaZZZBoldItalic=t2a-gentiumbasic-bolditalic
+%\TtwoaZZZBoldItalic
+%\TextC
+
+\vskip 2.0ex
+{\f T2B}
+
+\font in T2B\TtwobZZZRegular=t2b-gentiumplus-regular
+\TtwobZZZRegular
+\TextD
+
+\font in T2B\TtwobZZZItalic=t2b-gentiumplus-italic
+\TtwobZZZItalic
+\TextD
+
+%\font in T2B\TtwobZZZBold=NotoSans-Regular-lf-t2b
+%\TtwobZZZBold
+%\TextD
+
+%\font in T2B\TtwobZZZBoldItalic=NotoSans-Italic-lf-t2b
+%\TtwobZZZBoldItalic
+%\TextD
+
+\vskip 2.0ex
+{\f T2C}
+
+\font in T2C\TtwocZZZRegular=t2c-gentiumplus-regular
+\TtwocZZZRegular
+\TextE
+
+\font in T2C\TtwocZZZItalic=t2c-gentiumplus-italic
+\TtwocZZZItalic
+\TextE
+
+%\font in T2C\TtwocZZZBold=NotoSans-Regular-lf-t2c
+%\TtwocZZZBold
+%\TextE
+
+%\font in T2C\TtwocZZZBoldItalic=NotoSans-Italic-lf-t2c
+%\TtwocZZZBoldItalic
+%\TextE
+
+\vskip 2.0ex
+{\f LGR}
+\catcode"97=11
+
+\font in LGR\LgrZZZRegular=lgr-gentiumplus-regular
+\LgrZZZRegular
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZItalic=lgr-gentiumplus-italic
+\LgrZZZItalic
+\TextG
+
+\TextH
+
+%\font in LGR\LgrZZZBold=NotoSans-Regular-lf-lgr
+%\LgrZZZBold
+%\TextG
+%
+%\TextH
+
+%\font in LGR\LgrZZZBoldItalic=NotoSans-Italic-lf-lgr
+%\LgrZZZBoldItalic
+%\TextG
+%
+%\TextH
+
+
+\vfil
+\eject
+\spaceskip 0.12em plus 0.10em minus 0.05em
+
+\font in TS1\TSoneZZZRegular=ts1-gentiumplus-regular
+
+{\f TS1}
+
+\TSoneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="2B0 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2E19
+\PrintCode
+
+{\f T1}
+
+\ToneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="203B
+\PrintCode
+
+{\f LY1}
+
+\LYoneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+
+{\f T5}
+
+\TfiveZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="1A0 \ChrB="1B1
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="1EA0 \ChrB="1F00
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+\ChrA="2423 \ChrB="2424
+\PrintCode
+
+{\f L7X}
+
+\LsvnXZZZRegular
+\ChrA="80 \ChrB="193
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2123
+\PrintCode
+
+{\f T2A}
+
+\TtwoaZZZRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="500
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2B}
+
+\TtwobZZZRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2C}
+
+\TtwocZZZRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f LGR}
+
+\LgrZZZRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="259 \ChrB="260
+\PrintCode
+\ChrA="370 \ChrB="400
+\PrintCode
+\ChrA="1F00 \ChrB="1FFF
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f sigma:} ^^63^^73^^73
+
+\catcode"0C=12
+
+[\char"39F] [\char"38C] ['\relax Ο] ['Ο],
+[\char"391] ['\char"0C] [\char"27\char"391/\char"27\char"395/\char"27\char"397/\char"27\char"399/\char"27\char"39F],
+[\char"3B1] ['\char"0E] [\char"27\char"3B1/\char"27\char"3B5/\char"27\char"3B7/\char"27\char"3B9/\char"27\char"3BF/\char"27\char"3C5/\char"27\char"3C9]
+
+[^^^^039f] [^^^^038c] ['\relax ^^^^039f] [^^27^^^^039f],
+[^^^^0391] [^^27^^0c] [^^^^0386/^^^^0388/^^^^0389/^^^^038a/^^^^038c],
+[^^^^03b1] [^^27^^0e] [^^^^03ac/^^^^03ad/^^^^03ae/^^^^03af/^^^^03cc/^^^^03cd/^^^^03ce]
+
+\bye
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-kurier.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-kurier.tex
new file mode 100644
index 00000000000..f013c1ae147
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-kurier.tex
@@ -0,0 +1,280 @@
+%!euptex
+
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+\parindent=0pt
+
+\input udhr-common
+
+\spaceskip 0.36em plus 0.17em minus 0.15em
+
+
+\font\f=cmr10
+{\f Kurier}
+
+\vskip 2.0ex
+{\f T1}
+
+\font in T1\ToneZZZRegular=ec-kurierr
+\ToneZZZRegular
+\TextA
+
+\font in T1\ToneZZZItalic=ec-kurierri
+\ToneZZZItalic
+\TextA
+
+\font in T1\ToneZZZBold=ec-kurierb
+\ToneZZZBold
+\TextA
+
+\font in T1\ToneZZZBoldItalic=ec-kurierbi
+\ToneZZZBoldItalic
+\TextA
+
+\font in T1\ToneZZZCond=ec-kuriercr
+\ToneZZZCond
+\TextA
+
+\vskip 2.0ex
+{\f LY1}
+
+\font in LY1\LYoneZZZRegular=texnansi-kurierr
+\LYoneZZZRegular
+\TextB
+
+\font in LY1\LYoneZZZItalic=texnansi-kurierri
+\LYoneZZZItalic
+\TextB
+
+\font in LY1\LYoneZZZBold=texnansi-kurierb
+\LYoneZZZBold
+\TextB
+
+\font in LY1\LYoneZZZBoldItalic=texnansi-kurierbi
+\LYoneZZZBoldItalic
+\TextB
+
+\font in LY1\LYoneZZZCond=texnansi-kuriercr
+\LYoneZZZCond
+\TextB
+
+\vskip 2.0ex
+{\f T5}
+
+\font in T5\TfiveZZZRegular=t5-kurierr
+\TfiveZZZRegular
+\TextF
+
+\font in T5\TfiveZZZItalic=t5-kurierri
+\TfiveZZZItalic
+\TextF
+
+\font in T5\TfiveZZZBold=t5-kurierb
+\TfiveZZZBold
+\TextF
+
+\font in T5\TfiveZZZBoldItalic=t5-kurierbi
+\TfiveZZZBoldItalic
+\TextF
+
+\font in T5\TfiveZZZCond=t5-kuriercr
+\TfiveZZZCond
+\TextF
+
+\vskip 2.0ex
+{\f L7X}
+
+\font in L7X\LsvnXZZZRegular=l7x-kurierr
+\LsvnXZZZRegular
+\TextI
+
+\font in L7X\LsvnXZZZItalic=l7x-kurierri
+\LsvnXZZZItalic
+\TextI
+
+\font in L7X\LsvnXZZZBold=l7x-kurierb
+\LsvnXZZZBold
+\TextI
+
+\font in L7X\LsvnXZZZBoldItalic=l7x-kurierbi
+\LsvnXZZZBoldItalic
+\TextI
+
+\font in L7X\LsvnXZZZCond=l7x-kuriercr
+\LsvnXZZZCond
+\TextI
+
+\vfil
+\eject
+
+{\f T2A}
+
+\font in T2A\TtwoaZZZRegular=t2a-kurierr
+\TtwoaZZZRegular
+\TextC
+
+\font in T2A\TtwoaZZZItalic=t2a-kurierri
+\TtwoaZZZItalic
+\TextC
+
+\font in T2A\TtwoaZZZBold=t2a-kurierb
+\TtwoaZZZBold
+\TextC
+
+\font in T2A\TtwoaZZZBoldItalic=t2a-kurierbi
+\TtwoaZZZBoldItalic
+\TextC
+
+\font in T2A\TtwoaZZZCond=t2a-kuriercr
+\TtwoaZZZCond
+\TextC
+
+\vskip 2.0ex
+{\f T2B}
+
+\font in T2B\TtwobZZZRegular=t2b-kurierr
+\TtwobZZZRegular
+\TextD
+
+\font in T2B\TtwobZZZItalic=t2b-kurierri
+\TtwobZZZItalic
+\TextD
+
+\font in T2B\TtwobZZZBold=t2b-kurierb
+\TtwobZZZBold
+\TextD
+
+\font in T2B\TtwobZZZBoldItalic=t2b-kurierbi
+\TtwobZZZBoldItalic
+\TextD
+
+\font in T2B\TtwobZZZCond=t2b-kuriercr
+\TtwobZZZCond
+\TextD
+
+\vskip 2.0ex
+{\f T2C}
+
+\font in T2C\TtwocZZZRegular=t2c-kurierr
+\TtwocZZZRegular
+\TextE
+
+\font in T2C\TtwocZZZItalic=t2c-kurierri
+\TtwocZZZItalic
+\TextE
+
+\font in T2C\TtwocZZZBold=t2c-kurierb
+\TtwocZZZBold
+\TextE
+
+\font in T2C\TtwocZZZBoldItalic=t2c-kurierbi
+\TtwocZZZBoldItalic
+\TextE
+
+\font in T2C\TtwocZZZCond=t2c-kuriercr
+\TtwocZZZCond
+\TextE
+
+
+\vfil
+\eject
+\spaceskip 0.12em plus 0.10em minus 0.05em
+
+\font in TS1\TSoneZZZRegular=ts1-kurierr
+
+{\f TS1}
+
+\TSoneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="2B0 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2E19
+\PrintCode
+
+{\f T1}
+
+\ToneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="203B
+\PrintCode
+\ChrA="2423 \ChrB="2424
+\PrintCode
+
+{\f LY1}
+
+\LYoneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f T5}
+
+\TfiveZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="1A0 \ChrB="1B1
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="1EA0 \ChrB="1F00
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+\ChrA="2423 \ChrB="2424
+\PrintCode
+
+{\f L7X}
+
+\LsvnXZZZRegular
+\ChrA="80 \ChrB="193
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2123
+\PrintCode
+
+{\f T2A}
+
+\TtwoaZZZRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="500
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2B}
+
+\TtwobZZZRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2C}
+
+\TtwocZZZRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+\bye
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-lmdrn.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-lmdrn.tex
new file mode 100644
index 00000000000..45f75115f46
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-lmdrn.tex
@@ -0,0 +1,289 @@
+%!euptex
+
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+\parindent=0pt
+
+\input udhr-common
+
+\spaceskip 0.34em plus 0.17em minus 0.15em
+
+
+\font\f=cs-lmr10
+{\f Latin Modern}
+
+\vskip 2.0ex
+{\f T1}
+
+\font in T1\ToneZZZRegular=ec-lmr10
+\ToneZZZRegular
+\TextA
+
+\font in T1\ToneZZZItalic=ec-lmri10
+\ToneZZZItalic
+\TextA
+
+\font in T1\ToneZZZROblique=ec-lmro10
+\ToneZZZROblique
+\TextA
+
+\font in T1\ToneZZZSans=ec-lmss10
+\ToneZZZSans
+\TextA
+
+\font in T1\ToneZZZSOblique=ec-lmsso10
+\ToneZZZSOblique
+\TextA
+
+\font in T1\ToneZZZBold=ec-lmbx10
+\ToneZZZBold
+\TextA
+
+\font in T1\ToneZZZDunh=ec-lmdunh10
+\ToneZZZDunh
+\TextA
+
+\font in T1\ToneZZZCSC=ec-lmcsc10
+\ToneZZZCSC
+\TextA
+
+\font in T1\ToneZZZRegularA=ec-lmr17
+\ToneZZZRegularA
+\TextA
+
+\font in T1\ToneZZZRegularA=ec-lmr12
+\ToneZZZRegularA
+\TextA
+
+\font in T1\ToneZZZRegularA=ec-lmr8
+\ToneZZZRegularA
+\TextA
+
+\font in T1\ToneZZZRegularA=ec-lmr5
+\ToneZZZRegularA
+\TextA
+
+\vskip 2.0ex
+{\f LY1}
+
+\font in LY1\LYoneZZZRegular=texnansi-lmr10
+\LYoneZZZRegular
+\TextB
+
+\font in LY1\LYoneZZZItalic=texnansi-lmri10
+\LYoneZZZItalic
+\TextB
+
+\font in LY1\LYoneZZZROblique=texnansi-lmro10
+\LYoneZZZROblique
+\TextB
+
+\font in LY1\LYoneZZZSans=texnansi-lmss10
+\LYoneZZZSans
+\TextB
+
+\font in LY1\LYoneZZZSOblique=texnansi-lmsso10
+\LYoneZZZSOblique
+\TextB
+
+\font in LY1\LYoneZZZBold=texnansi-lmbx10
+\LYoneZZZBold
+\TextB
+
+\font in LY1\LYoneZZZDunh=texnansi-lmdunh10
+\LYoneZZZDunh
+\TextB
+
+\font in LY1\LYoneZZZCSC=texnansi-lmcsc10
+\LYoneZZZCSC
+\TextB
+
+\font in LY1\LYoneZZZRegularA=texnansi-lmr17
+\LYoneZZZRegularA
+\TextB
+
+\font in LY1\LYoneZZZRegularA=texnansi-lmr12
+\LYoneZZZRegularA
+\TextB
+
+\font in LY1\LYoneZZZRegularA=texnansi-lmr8
+\LYoneZZZRegularA
+\TextB
+
+\font in LY1\LYoneZZZRegularA=texnansi-lmr5
+\LYoneZZZRegularA
+\TextB
+
+\vfil
+\eject
+
+{\f T5}
+
+\font in T5\TfiveZZZRegular=t5-lmr10
+\TfiveZZZRegular
+\TextF
+
+\font in T5\TfiveZZZItalic=t5-lmri10
+\TfiveZZZItalic
+\TextF
+
+\font in T5\TfiveZZZROblique=t5-lmro10
+\TfiveZZZROblique
+\TextF
+
+\font in T5\TfiveZZZSans=t5-lmss10
+\TfiveZZZSans
+\TextF
+
+\font in T5\TfiveZZZSOblique=t5-lmsso10
+\TfiveZZZSOblique
+\TextF
+
+\font in T5\TfiveZZZBold=t5-lmbx10
+\TfiveZZZBold
+\TextF
+
+\font in T5\TfiveZZZDunh=t5-lmdunh10
+\TfiveZZZDunh
+\TextF
+
+\font in T5\TfiveZZZCSC=t5-lmcsc10
+\TfiveZZZCSC
+\TextF
+
+\font in T5\TfiveZZZRegularA=t5-lmr17
+\TfiveZZZRegularA
+\TextF
+
+\font in T5\TfiveZZZRegularA=t5-lmr12
+\TfiveZZZRegularA
+\TextF
+
+\font in T5\TfiveZZZRegularA=t5-lmr8
+\TfiveZZZRegularA
+\TextF
+
+\font in T5\TfiveZZZRegularA=t5-lmr5
+\TfiveZZZRegularA
+\TextF
+
+\vskip 2.0ex
+{\f L7X}
+
+\font in L7X\LsvnXZZZRegular=l7x-lmr10
+\LsvnXZZZRegular
+\TextI
+
+\font in L7X\LsvnXZZZItalic=l7x-lmri10
+\LsvnXZZZItalic
+\TextI
+
+\font in L7X\LsvnXZZZROblique=l7x-lmro10
+\LsvnXZZZROblique
+\TextI
+
+\font in L7X\LsvnXZZZSans=l7x-lmss10
+\LsvnXZZZSans
+\TextI
+
+\font in L7X\LsvnXZZZSOblique=l7x-lmsso10
+\LsvnXZZZSOblique
+\TextI
+
+\font in L7X\LsvnXZZZBold=l7x-lmbx10
+\LsvnXZZZBold
+\TextI
+
+\font in L7X\LsvnXZZZDunh=l7x-lmdunh10
+\LsvnXZZZDunh
+\TextI
+
+\font in L7X\LsvnXZZZCSC=l7x-lmcsc10
+\LsvnXZZZCSC
+\TextI
+
+\font in L7X\LsvnXZZZRegularA=l7x-lmr17
+\LsvnXZZZRegularA
+\TextI
+
+\font in L7X\LsvnXZZZRegularA=l7x-lmr12
+\LsvnXZZZRegularA
+\TextI
+
+\font in L7X\LsvnXZZZRegularA=l7x-lmr8
+\LsvnXZZZRegularA
+\TextI
+
+\font in L7X\LsvnXZZZRegularA=l7x-lmr5
+\LsvnXZZZRegularA
+\TextI
+
+
+\vfil
+\eject
+\spaceskip 0.12em plus 0.10em minus 0.05em
+
+\font in TS1\TSoneZZZRegular=ts1-lmr10
+
+{\f TS1}
+
+\TSoneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="2B0 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2E19
+\PrintCode
+
+{\f T1}
+
+\ToneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="203B
+\PrintCode
+\ChrA="2423 \ChrB="2424
+\PrintCode
+
+{\f LY1}
+
+\LYoneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f T5}
+
+\TfiveZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="1A0 \ChrB="1B1
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="1EA0 \ChrB="1F00
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+\ChrA="2423 \ChrB="2424
+\PrintCode
+
+
+{\f L7X}
+
+\LsvnXZZZRegular
+\ChrA="80 \ChrB="193
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2123
+\PrintCode
+
+
+\bye
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-noto.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-noto.tex
new file mode 100644
index 00000000000..36222580fc6
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-noto.tex
@@ -0,0 +1,270 @@
+%!euptex
+
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+\parindent=0pt
+
+\input udhr-common
+
+\spaceskip 0.36em plus 0.17em minus 0.15em
+
+
+\font\f=cmr10
+{\f Noto}
+
+\vskip 2.0ex
+{\f T1}
+
+\font in T1\ToneZZZSerifRegular=NotoSerif-Regular-lf-t1
+\ToneZZZSerifRegular
+\TextA
+
+\font in T1\ToneZZZSerifItalic=NotoSerif-Italic-lf-t1
+\ToneZZZSerifItalic
+\TextA
+
+\font in T1\ToneZZZSansRegular=NotoSans-Regular-lf-t1
+\ToneZZZSansRegular
+\TextA
+
+\font in T1\ToneZZZSansItalic=NotoSans-Italic-lf-t1
+\ToneZZZSansItalic
+\TextA
+
+\font in T1\ToneZZZSansMono=NotoSansMono-Regular-tlf-t1
+\ToneZZZSansMono
+\TextA
+
+\vskip 2.0ex
+{\f LY1}
+
+\font in LY1\LYoneZZZSerifRegular=NotoSerif-Regular-lf-ly1
+\LYoneZZZSerifRegular
+\TextB
+
+\font in LY1\LYoneZZZSerifItalic=NotoSerif-Italic-lf-ly1
+\LYoneZZZSerifItalic
+\TextB
+
+\font in LY1\LYoneZZZSansRegular=NotoSans-Regular-lf-ly1
+\LYoneZZZSansRegular
+\TextB
+
+\font in LY1\LYoneZZZSansItalic=NotoSans-Italic-lf-ly1
+\LYoneZZZSansItalic
+\TextB
+
+\font in LY1\LYoneZZZSansMono=NotoSansMono-Regular-tlf-ly1
+\LYoneZZZSansMono
+\TextB
+
+\vskip 2.0ex
+{\f T2A}
+
+\font in T2A\TtwoaZZZSerifRegular=NotoSerif-Regular-lf-t2a
+\TtwoaZZZSerifRegular
+\TextC
+
+\font in T2A\TtwoaZZZSerifItalic=NotoSerif-Italic-lf-t2a
+\TtwoaZZZSerifItalic
+\TextC
+
+\font in T2A\TtwoaZZZSansRegular=NotoSans-Regular-lf-t2a
+\TtwoaZZZSansRegular
+\TextC
+
+\font in T2A\TtwoaZZZSansItalic=NotoSans-Italic-lf-t2a
+\TtwoaZZZSansItalic
+\TextC
+
+\font in T2A\TtwoaZZZSansMono=NotoSansMono-Regular-tlf-t2a
+\TtwoaZZZSansMono
+\TextC
+
+\vskip 2.0ex
+{\f T2B}
+
+\font in T2B\TtwobZZZSerifRegular=NotoSerif-Regular-lf-t2b
+\TtwobZZZSerifRegular
+\TextD
+
+\font in T2B\TtwobZZZSerifItalic=NotoSerif-Italic-lf-t2b
+\TtwobZZZSerifItalic
+\TextD
+
+\font in T2B\TtwobZZZSansRegular=NotoSans-Regular-lf-t2b
+\TtwobZZZSansRegular
+\TextD
+
+\font in T2B\TtwobZZZSansItalic=NotoSans-Italic-lf-t2b
+\TtwobZZZSansItalic
+\TextD
+
+\font in T2B\TtwobZZZSansMono=NotoSansMono-Regular-tlf-t2b
+\TtwobZZZSansMono
+\TextD
+
+\vfil
+\eject
+
+{\f T2C}
+
+\font in T2C\TtwocZZZSerifRegular=NotoSerif-Regular-lf-t2c
+\TtwocZZZSerifRegular
+\TextE
+
+\font in T2C\TtwocZZZSerifItalic=NotoSerif-Italic-lf-t2c
+\TtwocZZZSerifItalic
+\TextE
+
+\font in T2C\TtwocZZZSansRegular=NotoSans-Regular-lf-t2c
+\TtwocZZZSansRegular
+\TextE
+
+\font in T2C\TtwocZZZSansItalic=NotoSans-Italic-lf-t2c
+\TtwocZZZSansItalic
+\TextE
+
+\font in T2C\TtwocZZZSansMono=NotoSansMono-Regular-tlf-t2c
+\TtwocZZZSansMono
+\TextE
+
+\vskip 2.0ex
+{\f LGR}
+\catcode"97=11
+
+\font in LGR\LgrZZZSerifRegular=NotoSerif-Regular-lf-lgr
+\LgrZZZSerifRegular
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSerifItalic=NotoSerif-Italic-lf-lgr
+\LgrZZZSerifItalic
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSansRegular=NotoSans-Regular-lf-lgr
+\LgrZZZSansRegular
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSansItalic=NotoSans-Italic-lf-lgr
+\LgrZZZSansItalic
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSansMono=NotoSansMono-Regular-tlf-lgr
+\LgrZZZSansMono
+\TextG
+
+\TextH
+
+
+\vfil
+\eject
+\spaceskip 0.12em plus 0.10em minus 0.05em
+
+\font in TS1\TSoneZZZSerifRegular=NotoSerif-Regular-lf-ts1
+
+{\f TS1}
+
+\TSoneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="192 \ChrB="193
+\PrintCode
+\ChrA="2B0 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2E19
+\PrintCode
+
+{\f T1}
+
+\ToneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="203B
+\PrintCode
+\ChrA="2423 \ChrB="2424
+\PrintCode
+
+{\f LY1}
+
+\LYoneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f T2A}
+
+\TtwoaZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="500
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2B}
+
+\TtwobZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f T2C}
+
+\TtwocZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="530
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f LGR}
+
+\LgrZZZSerifRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="259 \ChrB="260
+\PrintCode
+\ChrA="370 \ChrB="400
+\PrintCode
+\ChrA="1F00 \ChrB="1FFF
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f sigma:} ^^63^^73^^73
+
+\catcode"0C=12
+
+[\char"39F] [\char"38C] ['\relax Ο] ['Ο],
+[\char"391] ['\char"0C] [\char"27\char"391/\char"27\char"395/\char"27\char"397/\char"27\char"399/\char"27\char"39F],
+[\char"3B1] ['\char"0E] [\char"27\char"3B1/\char"27\char"3B5/\char"27\char"3B7/\char"27\char"3B9/\char"27\char"3BF/\char"27\char"3C5/\char"27\char"3C9]
+
+[^^^^039f] [^^^^038c] ['\relax ^^^^039f] [^^27^^^^039f],
+[^^^^0391] [^^27^^0c] [^^^^0386/^^^^0388/^^^^0389/^^^^038a/^^^^038c],
+[^^^^03b1] [^^27^^0e] [^^^^03ac/^^^^03ad/^^^^03ae/^^^^03af/^^^^03cc/^^^^03cd/^^^^03ce]
+
+\bye
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-roboto.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-roboto.tex
new file mode 100644
index 00000000000..ee23baa6b2a
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-roboto.tex
@@ -0,0 +1,174 @@
+%!euptex
+
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+\vsize=230mm
+\parindent=0pt
+
+\input udhr-common
+
+\spaceskip 0.36em plus 0.17em minus 0.15em
+
+
+\font\f=cmr10
+{\f Roboto}
+
+\vskip 2.0ex
+{\f T1}
+
+\font in T1\ToneZZZRegular=Roboto-Regular-lf-t1
+\ToneZZZRegular
+\TextA
+
+\font in T1\ToneZZZItalic=Roboto-Italic-lf-t1
+\ToneZZZItalic
+\TextA
+
+\font in T1\ToneZZZBold=Roboto-Bold-lf-t1
+\ToneZZZBold
+\TextA
+
+\font in T1\ToneZZZBoldItalic=Roboto-BoldItalic-lf-t1
+\ToneZZZBoldItalic
+\TextA
+
+\font in T1\ToneZZZSlabRegular=RobotoSlab-Regular-tlf-t1
+\ToneZZZSlabRegular
+\TextA
+
+\font in T1\ToneZZZCondensedRegular=RobotoCondensed-Regular-tlf-t1
+\ToneZZZCondensedRegular
+\TextA
+
+\font in T1\ToneZZZMonoRegular=RobotoMono-Regular-tlf-t1
+\ToneZZZMonoRegular
+\TextA
+
+\vskip 2.0ex
+{\f LY1}
+
+\font in LY1\LYoneZZZRegular=Roboto-Regular-lf-ly1
+\LYoneZZZRegular
+\TextB
+
+\font in LY1\LYoneZZZItalic=Roboto-Italic-lf-ly1
+\LYoneZZZItalic
+\TextB
+
+\font in LY1\LYoneZZZBold=Roboto-Bold-lf-ly1
+\LYoneZZZBold
+\TextB
+
+\font in LY1\LYoneZZZBoldItalic=Roboto-BoldItalic-lf-ly1
+\LYoneZZZBoldItalic
+\TextB
+
+\font in LY1\LYoneZZZSlabRegular=RobotoSlab-Regular-tlf-ly1
+\LYoneZZZSlabRegular
+\TextB
+
+\font in LY1\LYoneZZZCondensedRegular=RobotoCondensed-Regular-tlf-ly1
+\LYoneZZZCondensedRegular
+\TextB
+
+\font in LY1\LYoneZZZMonoRegular=RobotoMono-Regular-tlf-ly1
+\LYoneZZZMonoRegular
+\TextB
+
+\vskip 2.0ex
+{\f LGR}
+\catcode"97=11
+
+\font in LGR\LgrZZZRegular=Roboto-Regular-lf-lgr
+\LgrZZZRegular
+\TextG
+
+\font in LGR\LgrZZZItalic=Roboto-Italic-lf-lgr
+\LgrZZZItalic
+\TextG
+
+\font in LGR\LgrZZZBold=Roboto-Bold-lf-lgr
+\LgrZZZBold
+\TextG
+
+\font in LGR\LgrZZZBoldItalic=Roboto-BoldItalic-lf-lgr
+\LgrZZZBoldItalic
+\TextG
+
+\font in LGR\LgrZZZSlabRegular=RobotoSlab-Regular-tlf-lgr
+\LgrZZZSlabRegular
+\TextG
+
+\font in LGR\LgrZZZCondensedRegular=RobotoCondensed-Regular-tlf-lgr
+\LgrZZZCondensedRegular
+\TextG
+
+\font in LGR\LgrZZZMonoRegular=RobotoMono-Regular-tlf-lgr
+\LgrZZZMonoRegular
+\TextG
+
+
+\vfil
+\eject
+\spaceskip 0.12em plus 0.10em minus 0.05em
+
+\font in TS1\TSoneZZZSlabRegular=RobotoSlab-Regular-tlf-ts1
+
+{\f TS1}
+
+\TSoneZZZSlabRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="2B0 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2E19
+\PrintCode
+
+{\f T1}
+
+\ToneZZZSlabRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="203B
+\PrintCode
+
+{\f LY1}
+
+\LYoneZZZRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f LGR}
+
+\LgrZZZSlabRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="259 \ChrB="260
+\PrintCode
+\ChrA="370 \ChrB="400
+\PrintCode
+\ChrA="1F00 \ChrB="1FFF
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f sigma:} ^^63^^73^^73
+
+\catcode"0C=12
+
+[\char"39F] [\char"38C] ['\relax Ο] ['Ο],
+[\char"391] ['\char"0C] [\char"27\char"391/\char"27\char"395/\char"27\char"397/\char"27\char"399/\char"27\char"39F],
+[\char"3B1] ['\char"0E] [\char"27\char"3B1/\char"27\char"3B5/\char"27\char"3B7/\char"27\char"3B9/\char"27\char"3BF/\char"27\char"3C5/\char"27\char"3C9]
+
+[^^^^039f] [^^^^038c] ['\relax ^^^^039f] [^^27^^^^039f],
+[^^^^0391] [^^27^^0c] [^^^^0386/^^^^0388/^^^^0389/^^^^038a/^^^^038c],
+[^^^^03b1] [^^27^^0e] [^^^^03ac/^^^^03ad/^^^^03ae/^^^^03af/^^^^03cc/^^^^03cd/^^^^03ce]
+
+\bye
diff --git a/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-source.tex b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-source.tex
new file mode 100644
index 00000000000..6f539e311b5
--- /dev/null
+++ b/Master/texmf-dist/doc/uptex/uptex-base/samples/udhr-source.tex
@@ -0,0 +1,175 @@
+%!euptex
+
+% Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+% You may freely use, modify and/or distribute this file.
+%
+\parindent=0pt
+
+\input udhr-common
+
+\spaceskip 0.36em plus 0.17em minus 0.15em
+
+
+\font\f=cmr10
+{\f SourceSerifPro, SourceSansPro, SourceCodePro}
+
+\vskip 2.0ex
+{\f T1}
+
+\font in T1\ToneZZZSerifRegular=SourceSerifPro-Regular-tlf-t1
+\ToneZZZSerifRegular
+\TextA
+
+\font in T1\ToneZZZSerifItalic=SourceSerifPro-It-tlf-t1
+\ToneZZZSerifItalic
+\TextA
+
+\font in T1\ToneZZZSansRegular=SourceSansPro-Regular-tlf-t1
+\ToneZZZSansRegular
+\TextA
+
+\font in T1\ToneZZZSansItalic=SourceSansPro-It-tlf-t1
+\ToneZZZSansItalic
+\TextA
+
+\font in T1\ToneZZZCodeRegular=SourceCodePro-Regular-tlf-t1
+\ToneZZZCodeRegular
+\TextA
+
+\font in T1\ToneZZZCodeItalic=SourceCodePro-It-tlf-t1
+\ToneZZZCodeItalic
+\TextA
+
+\vskip 2.0ex
+{\f LY1}
+
+\font in LY1\LYoneZZZSerifRegular=SourceSerifPro-Regular-tlf-ly1
+\LYoneZZZSerifRegular
+\TextB
+
+\font in LY1\LYoneZZZSerifItalic=SourceSerifPro-It-tlf-ly1
+\LYoneZZZSerifItalic
+\TextB
+
+\font in LY1\LYoneZZZSansRegular=SourceSansPro-Regular-tlf-ly1
+\LYoneZZZSansRegular
+\TextB
+
+\font in LY1\LYoneZZZSansItalic=SourceSansPro-It-tlf-ly1
+\LYoneZZZSansItalic
+\TextB
+
+\font in LY1\LYoneZZZCodeRegular=SourceCodePro-Regular-tlf-ly1
+\LYoneZZZCodeRegular
+\TextB
+
+\font in LY1\LYoneZZZCodeItalic=SourceCodePro-It-tlf-ly1
+\LYoneZZZCodeItalic
+\TextB
+
+\vskip 2.0ex
+{\f T2A}
+
+\font in T2A\TtwoaZZZCodeRegular=SourceCodePro-Regular-tlf-t2a
+\TtwoaZZZCodeRegular
+\TextC
+
+%% It does not work.
+%\font in T2A\TtwoaZZZCodeItalic=SourceCodePro-It-tlf-t2a
+%\TtwoaZZZCodeItalic
+%\TextC
+
+\vskip 2.0ex
+{\f LGR}
+\catcode"97=11
+
+\font in LGR\LgrZZZSansRegular=SourceSansPro-Regular-tlf-lgr
+\LgrZZZSansRegular
+\TextG
+
+\TextH
+
+\font in LGR\LgrZZZSansItalic=SourceSansPro-It-tlf-lgr
+\LgrZZZSansItalic
+\TextG
+
+\TextH
+
+
+\vfil
+\eject
+\spaceskip 0.12em plus 0.10em minus 0.05em
+
+\font in TS1\TSoneZZZSerifRegular=SourceSerifPro-Regular-lf-ts1
+
+{\f TS1}
+
+\TSoneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="2B0 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="2E19
+\PrintCode
+
+{\f T1}
+
+\ToneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="203B
+\PrintCode
+\ChrA="2423 \ChrB="2424
+\PrintCode
+
+{\f LY1}
+
+\LYoneZZZSerifRegular
+\ChrA="80 \ChrB="180
+\PrintCode
+\ChrA="237 \ChrB="300
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f T2A}
+
+\TtwoaZZZCodeRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="131 \ChrB="2DE
+\PrintCode
+\ChrA="400 \ChrB="500
+\PrintCode
+\ChrA="2010 \ChrB="2117
+\PrintCode
+
+{\f LGR}
+
+\LgrZZZSansRegular
+\ChrA="A4 \ChrB="BC
+\PrintCode
+\ChrA="259 \ChrB="260
+\PrintCode
+\ChrA="370 \ChrB="400
+\PrintCode
+\ChrA="1F00 \ChrB="1FFF
+\PrintCode
+\ChrA="2010 \ChrB="20AD
+\PrintCode
+
+{\f sigma:} ^^63^^73^^73
+
+\catcode"0C=12
+
+[\char"39F] [\char"38C] ['\relax Ο] ['Ο],
+[\char"391] ['\char"0C] [\char"27\char"391/\char"27\char"395/\char"27\char"397/\char"27\char"399/\char"27\char"39F],
+[\char"3B1] ['\char"0E] [\char"27\char"3B1/\char"27\char"3B5/\char"27\char"3B7/\char"27\char"3B9/\char"27\char"3BF/\char"27\char"3C5/\char"27\char"3C9]
+
+[^^^^039f] [^^^^038c] ['\relax ^^^^039f] [^^27^^^^039f],
+[^^^^0391] [^^27^^0c] [^^^^0386/^^^^0388/^^^^0389/^^^^038a/^^^^038c],
+[^^^^03b1] [^^27^^0e] [^^^^03ac/^^^^03ad/^^^^03ae/^^^^03af/^^^^03cc/^^^^03cd/^^^^03ce]
+
+\bye