diff options
author | Norbert Preining <preining@logic.at> | 2021-04-08 21:22:57 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2021-04-08 21:22:57 +0000 |
commit | e5535dfde43899758ac8b4b8744aaa29668294d8 (patch) | |
tree | 7d834d3cdf862e4f0d25c223a38d91a7eddaddbb /Master/texmf-dist/tex/generic/babel/locale | |
parent | ef47f55736fd1defd37f3b0554392947bd6f4ce2 (diff) |
babel (9apr21)
git-svn-id: svn://tug.org/texlive/trunk@58797 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/locale')
12 files changed, 214 insertions, 28 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini index 8ba86c631d0..de5c72b9d04 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.7 -date = 2020-10-11 +version = 1.8 +date = 2021-04-05 name.local = العربية name.english = Arabic name.babel = arabic @@ -176,4 +176,35 @@ superscriptingExponent = × abjad = ا ب ج د ه و ز ح ط ي ك ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ maghrebi.abjad = ا ب ج د ه و ز ح ط ي ك ل م ن ص ع ف ض ق ر س ت ث خ ذ ظ غ ش +[transforms.prehyphenation] +; Yannis Haralambous' system in his 'dad'. Only two rules are missing. +; 3-letter +transliteration.dad.1.0 = { {+}a{*} } +transliteration.dad.1.2 = { string = ٰ } +transliteration.dad.1.2 = { string = ّ } +transliteration.dad.1.3 = { remove } +transliteration.dad.2.0 = { {+}([aui])N } +transliteration.dad.2.2 = { string = {1|aui|ًٌٍ} } +transliteration.dad.2.2 = { string = ّ } +transliteration.dad.2.3 = { remove } +; 2-letter +transliteration.dad.3.0 = { ([aui])N } +transliteration.dad.3.1 = { string = {1|aui|ًٌٍ} } +transliteration.dad.3.2 = { remove } +transliteration.dad.4.0 = { ([tAa]){*} } +transliteration.dad.4.1 = { string = {1|tAa|ةٱٰ} } +transliteration.dad.4.2 = { remove } +transliteration.dad.5.0 = { ([tds])h } +transliteration.dad.5.1 = { string = {1|tds|ثذش} } +transliteration.dad.5.2 = { remove } +transliteration.dad.6.0 = { {+}([aui]) } +transliteration.dad.6.1 = { string = {1|aui|َُِ} } +transliteration.dad.6.2 = { string = ّ } +transliteration.dad.7.0 = { '([AauiIbnf]) } +transliteration.dad.7.1 = { remove } +transliteration.dad.7.2 = { string = {1|AauiIbnf|آأؤإئٮںڡ} } +; 1-letter +transliteration.dad.8.0 = { ([{007C}AbtjHxdrzsSDTZ`RfqklmnhUIYaui+opCvgJe]) } +transliteration.dad.8.1 = { string = {1|{007C}AbtjHxdrzsSDTZ`RfqklmnhUIYaui+opCvgJe|ءابتجحخدرزسصضطظعغفقكلمنهوىيَُِّْپچڤگژۀ} } + diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini index 9d97ac573c1..dd1f9ad0069 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini @@ -4,8 +4,8 @@ [identification] charset = utf8 -version = 0.6 -date = 2020-06-30 +version = 0.7 +date = 2021-04-05 name.local = Ἐλληνικά ; Name from https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry name.english = Polytonic Greek @@ -204,4 +204,7 @@ upper.ancient.3 = Ρ Σ Τ Υ Φ Χ Ψ Ω Ϡ upper.ancient.4 = ͵Α ͵Β ͵Γ ͵Δ ͵Ε ͵Ϛ ͵Ζ ͵Η ͵Θ upper.ancient.S.321 = ʹ - +[transforms.posthyphenation] +diaeresis.hyphen.1.0 = { |([ϊΐῒῗϋΰῢῧ]) } +diaeresis.hyphen.1.1 = { remove } +diaeresis.hyphen.1.2 = { no = {1}, pre = -, post = {1|ϊΐῒῗϋΰῢῧ|ιίὶῖυύὺῦ} } diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini index 30d1e4427cf..39b93e92ac3 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.5 -date = 2020-06-30 +version = 1.6 +date = 2021-04-05 name.local = Ελληνικά name.english = Greek name.babel = greek @@ -210,3 +210,8 @@ upper.ancient.3 = Ρ Σ Τ Υ Φ Χ Ψ Ω Ϡ upper.ancient.4 = ͵Α ͵Β ͵Γ ͵Δ ͵Ε ͵Ϛ ͵Ζ ͵Η ͵Θ upper.ancient.S.321 = ʹ +[transforms.posthyphenation] +diaeresis.hyphen.1.0 = { |([ϊΐϋΰ]) } +diaeresis.hyphen.1.1 = { remove } +diaeresis.hyphen.1.2 = { no = {1}, pre = -, post = {1|ϊΐϋΰ|ιίυύ} } + diff --git a/Master/texmf-dist/tex/generic/babel/locale/es/babel-es.ini b/Master/texmf-dist/tex/generic/babel/locale/es/babel-es.ini index 733293f938f..5ed832dd28d 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/es/babel-es.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/es/babel-es.ini @@ -183,10 +183,3 @@ plusSign = + superscriptingExponent = × [counters] - -[transforms.prehyphenation] -; Experimental. Don't use in production -percent.space.1.0 = { {d}{0025} } -percent.space.1.1 = {} -percent.space.1.2 = { insert, spacefactor = .5 .3 .5, data = 1 } -percent.space.1.3 = {} diff --git a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini index 03a525d346a..818b1ca7a0f 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.5 -date = 2020-06-30 +version = 1.6 +date = 2021-04-05 name.local = Αρχαία ελληνικά name.english = Ancient Greek name.babel = greek @@ -185,4 +185,9 @@ upper.ancient.1 = Α Β Γ Δ Ε Ϛ Ζ Η Θ upper.ancient.2 = Ι Κ Λ Μ Ν Ξ Ο Π Ϟ upper.ancient.3 = Ρ Σ Τ Υ Φ Χ Ψ Ω Ϡ upper.ancient.4 = ͵Α ͵Β ͵Γ ͵Δ ͵Ε ͵Ϛ ͵Ζ ͵Η ͵Θ -upper.ancient.S.321 = ʹ
\ No newline at end of file +upper.ancient.S.321 = ʹ + +[transforms.posthyphenation] +diaeresis.hyphen.1.0 = { |([ϊΐῒῗϋΰῢῧ]) } +diaeresis.hyphen.1.1 = { remove } +diaeresis.hyphen.1.2 = { no = {1}, pre = -, post = {1|ϊΐῒῗϋΰῢῧ|ιίὶῖυύὺῦ} }
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini b/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini index 7419d2f4e8d..a230ec2a47f 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini @@ -12,8 +12,8 @@ [identification] charset = utf8 -version = 1.8 -date = 2020-10-11 +version = 1.9 +date = 2021-04-05 name.local = हिन्दी name.english = Hindi name.babel = hindi @@ -201,3 +201,44 @@ superscriptingExponent = × [counters] alphabetic = क ख ग घ ङ च छ ज झ ञ ट ठ ड ढ ण त थ द ध न प फ ब भ म य र ल व श ष स ह + +[transforms.prehyphenation] +; Multiletter +transliteration.hk.1.0 = { lRR } +transliteration.hk.1.1 = { string = ॡ } +transliteration.hk.1.2 = { remove } +transliteration.hk.1.3 = { remove } +transliteration.hk.2.0 = { OM } +transliteration.hk.2.1 = { string = ॐ } +transliteration.hk.2.2 = { remove } +transliteration.hk.3.0 = { {007C}{007C} } +transliteration.hk.3.1 = { string = ॥ } +transliteration.hk.3.2 = { remove } +transliteration.hk.4.0 = { ([lR])R } +transliteration.hk.4.1 = { string = {1|lR|ऌॠ} } +transliteration.hk.4.2 = { remove } +transliteration.hk.5.0 = { a([iu]) } +transliteration.hk.5.1 = { remove } +transliteration.hk.5.2 = { string = {1|iu|ऐऔ} } +; Xh +transliteration.hk.6.0 = { ([kgcjTDtdpb])h } +transliteration.hk.6.1 = { string = {1|kgcjTDtdpb|खघछझठढथधफभ} } +transliteration.hk.6.2 = { remove } +; Single letter +transliteration.hk.7.0 = { ([MHaAiIuUReokgGcjJTDNtdnpbmyrlvzSshL{007C}']) } +transliteration.hk.7.1 = { string = {1|MHaAiIuUReokgGcjJTDNtdnpbmyrlvzSshL{007C}'|ंःअआइईउऊऋएओकगङचजञटडणतदनपबमयरलवशषसहळ।ऽ} } +; Post-process vowels +transliteration.hk.8.0 = { [{0915}-{0939}]([आइईउऊऋॠऌॡएऐओऔऎऒ]) } +transliteration.hk.8.1 = {} +transliteration.hk.8.2 = { string = {1|आइईउऊऋॠऌॡएऐओऔऎऒ|ािीुूृॄॢॣेैोौॆॊ} } +transliteration.hk.9.0 = { [{0915}-{0939}]([{0915}-{0939}]) } +transliteration.hk.9.1 = {} +transliteration.hk.9.2 = { string = ^^^^094d{1} } +; Duplicated (a trick) +transliteration.hk.10.0 = { [{0915}-{0939}]([{0915}-{0939}]) } +transliteration.hk.10.1 = {} +transliteration.hk.10.2 = { string = ^^^^094d{1} } +; Inherent a +transliteration.hk.11.0 = { [{0915}-{0939}]{0905} } +transliteration.hk.11.1 = {} +transliteration.hk.11.2 = { remove } diff --git a/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini b/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini index 7692bbb3c33..dc9a604f1c9 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2020-06-30 +version = 1.3 +date = 2021-04-05 name.local = hrvatski name.english = Croatian name.babel = croatian @@ -183,3 +183,17 @@ plusSign = + superscriptingExponent = × [counters] + +[transforms.prehyphenation] +digraphs.ligatures.1.0 = { D([Žž]) } +digraphs.ligatures.1.1 = { remove } +digraphs.ligatures.1.2 = { string = {1|Žž|DŽDž} } +digraphs.ligatures.2.0 = { dž } +digraphs.ligatures.2.1 = { string = dž } +digraphs.ligatures.2.2 = { remove } +digraphs.ligatures.3.0 = { ([LN])J } +digraphs.ligatures.3.1 = { string = {1|LN|LJNJ} } +digraphs.ligatures.3.2 = { remove } +digraphs.ligatures.4.0 = { ([LlNn])j } +digraphs.ligatures.4.1 = { string = {1|LlNn|LjljNjnj} } +digraphs.ligatures.4.2 = { remove }
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/hu/babel-hu.ini b/Master/texmf-dist/tex/generic/babel/locale/hu/babel-hu.ini index b681831d8d4..e6a69cd3415 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/hu/babel-hu.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/hu/babel-hu.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2020-08-06 +version = 1.4 +date = 2021-04-05 name.local = magyar name.english = Hungarian name.babel = hungarian @@ -192,3 +192,21 @@ plusSign = + superscriptingExponent = × [counters] + +[transforms.posthyphenation] +digraphs.hyphen.1.0 = { ([czCZ])|{1}([sS]) } +digraphs.hyphen.1.1 = {} +digraphs.hyphen.1.2 = { pre = {2}-, data = 1 } +digraphs.hyphen.1.3 = {} +digraphs.hyphen.1.4 = {} +digraphs.hyphen.2.0 = { ([dsDS])|{1}([zZ]) } +digraphs.hyphen.2.1 = {} +digraphs.hyphen.2.2 = { pre = {2}-, data = 1 } +digraphs.hyphen.2.3 = {} +digraphs.hyphen.2.4 = {} +digraphs.hyphen.3.0 = { ([glntGLNT])|{1}([yY]) } +digraphs.hyphen.3.1 = {} +digraphs.hyphen.3.2 = { pre = {2}-, data = 1 } +digraphs.hyphen.3.3 = {} +digraphs.hyphen.3.4 = {} + diff --git a/Master/texmf-dist/tex/generic/babel/locale/hu/babel-magyar.tex b/Master/texmf-dist/tex/generic/babel/locale/hu/babel-magyar.tex new file mode 100644 index 00000000000..a774379bd90 --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/hu/babel-magyar.tex @@ -0,0 +1,12 @@ +% This file is part of babel. For further details see: +% https://www.ctan.org/pkg/babel +\ifx\BabelBeforeIni\undefined + \PackageError{babel}% + {This file is a component of babel and cannot\MessageBreak + be loaded directly. I'll stop immediately}% + {Just use babel as documented.}% + \stop +\fi +\BabelBeforeIni{hu}{% +} +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini b/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini index 1178e561099..927dd8b4986 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini @@ -13,8 +13,8 @@ [identification] charset = utf8 -version = 1.9 -date = 2021-03-16 +version = 1.10 +date = 2021-04-05 name.local = मराठी name.english = Marathi name.babel = marathi @@ -113,7 +113,7 @@ time.medium = [h]:[mm]:[ss] [a] time.short = [h]:[mm] [a] [typography] -frenchspacing = yes +frenchspacing = no hyphenrules = marathi lefthyphenmin = 2 righthyphenmin = 2 diff --git a/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini b/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini index 104cf00c468..395d9136094 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini @@ -12,8 +12,8 @@ [identification] charset = utf8 -version = 1.5 -date = 2021-02-26 +version = 1.6 +date = 2021-04-05 name.local = ئۇيغۇرچە name.english = Uyghur name.babel = uyghur @@ -27,6 +27,7 @@ script.tag.opentype = arab level = 1 encodings = derivate = no +require.babel = uyghur [captions] preface = كىرىش سۆز diff --git a/Master/texmf-dist/tex/generic/babel/locale/ug/babel-uyghur.tex b/Master/texmf-dist/tex/generic/babel/locale/ug/babel-uyghur.tex index 0963ec194e9..d3ee2eab655 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ug/babel-uyghur.tex +++ b/Master/texmf-dist/tex/generic/babel/locale/ug/babel-uyghur.tex @@ -9,4 +9,67 @@ \fi \BabelBeforeIni{ug}{% } + +\newattribute\bblug@disc +\bblug@disc=-1 + +\bbl@luahyphenate + +% 1) Store discretionaries just after hyphenation as an attribute of the +% next glyph, with the value of the disc penalty (assumed positive). Then +% remove the discretionary. +% 2) After the shaping, restore the discretionaries. + +\directlua{ +Babel.locale[\the\localeid] = {} +local ug = Babel.locale[\the\localeid] + +function ug.posthyphen(head) + local UGDISC = luatexbase.registernumber'bblug@disc' + for item in node.traverse(head) do + if item.id == 7 and item.subtype == 3 and + item.next and item.next.id == 29 and + item.next.lang == \the\l@uyghur\space then + node.set_attribute(item.next, UGDISC, item.penalty) + node.remove(head, item) + end + end +end + +ug.hyphen_sep = .09 % in em units +% Note it can be a string, with several characters: +ug.hyphen = unicode.utf8.char(0x0640) + +Babel.linebreaking.add_after(ug.posthyphen) + +function ug.hyphenate(head) + local d, k + local quad = 655360 + local UGDISC = luatexbase.registernumber'bblug@disc' + for item in node.traverse(head) do + if item.id == 29 and item.lang == \the\l@uyghur\space then + local ugdisc = node.get_attribute(item, UGDISC) + if ugdisc >= 0 then + quad = font.getfont(item.font).size or quad + k = node.new(13, 1) % (kern, userkern) + k.kern = ug.hyphen_sep * quad + d = node.new(7, 3) % (disc, regular) + d.pre = Babel.str_to_nodes( + function() return ug.hyphen end, + nil, item) + d.pre = node.insert_before(d.pre, d.pre, k) + d.penalty = ugdisc + head = node.insert_before(head, item, d) + end + end + end + return head +end + +luatexbase.add_to_callback("pre_linebreak_filter", + ug.hyphenate, "Babel.locale.uyghur.hyphenate") +luatexbase.add_to_callback("hpack_filter", + ug.hyphenate, "Babel.locale.uyghur.hyphenate") +} + \endinput
\ No newline at end of file |