From 765bb7a0ca9bd07433a197370f7169d7eff9e0d3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 14 Mar 2021 23:24:23 +0000 Subject: unitipa (14mar21) (branch) git-svn-id: svn://tug.org/texlive/branches/branch2020.0@58374 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/lualatex/unitipa/unitipa.sty | 183 +++++++++++---------- 1 file changed, 94 insertions(+), 89 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/lualatex/unitipa/unitipa.sty b/Master/texmf-dist/tex/lualatex/unitipa/unitipa.sty index a6a8a4fd211..b9a3bc9e1f6 100644 --- a/Master/texmf-dist/tex/lualatex/unitipa/unitipa.sty +++ b/Master/texmf-dist/tex/lualatex/unitipa/unitipa.sty @@ -31,23 +31,22 @@ %% and the derived file unitipa.sty. %% --------------------------------------------------------------------------- %% -\def\unitipaPackageName{unitipa} -\def\unitipaPackageVersion{0.1} -\def\unitipaPackageDate{2020/21/09} -\def\unitipaPackageDescription{TIPA typefaces with Unicode characters.} - -\ProvidesPackage{unitipa}[2020/21/09 v0.1 +\def\unitipaname{unitipa} +\def\unitipaversion{0.2} +\def\unitipadate{2021/03/13} +\def\unitipadescription{TIPA typefaces with Unicode characters.} +\ProvidesPackage{unitipa}[2021/03/13 v0.2 TIPA typefaces with unicode characters] \RequirePackage{tipa} \RequirePackage{graphicx} \RequirePackage{newunicodechar} \RequirePackage{fontspec} \RequirePackage{pgfkeys} -\pgfkeys{ - unitipa/.is family, unitipa/.cd, - ipafont/.code={\setfontfamily{\ipa}{#1}}, - ipafont=DoulosSIL, -} +\pgfkeys{% + unitipa/.is family, unitipa/.cd,% + ipafont/.code={\setfontfamily{\ipa}{#1}},% + ipafont=DoulosSIL% +}% \DeclareTextFontCommand{\ipatext}{\ipa} \def\unitipa@ipafont#1{\pgfkeys{unitipa/.cd,#1}} \DeclareOption*{\expandafter\unitipa@ipafont\expandafter{\CurrentOption}} @@ -83,186 +82,186 @@ TIPA typefaces with unicode characters] s = unicode.utf8.gsub ( s , '(%a)̹', '\\textsubrhalfring{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", morerounded, "morerounded")} -\begin{luacode} + \begin{luacode} function lessrounded ( s ) s = unicode.utf8.gsub ( s , '(%a)̜', '\\textsublhalfring{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", lessrounded, "lessrounded")} -\begin{luacode} + \begin{luacode} function advanced ( s ) s = unicode.utf8.gsub ( s , '(%a)̟', '\\textsubplus{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", advanced, "advanced")} -\begin{luacode} + \begin{luacode} function retracted ( s ) s = unicode.utf8.gsub ( s , '(%a)̠', '\\textsubbar{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", retracted, "retracted")} -\begin{luacode} + \begin{luacode} function midcentralized ( s ) s = unicode.utf8.gsub ( s , '(%a)̽', '\\textovercross{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", midcentralized, "midcentralized")} -\begin{luacode} + \begin{luacode} function syllabic ( s ) s = unicode.utf8.gsub ( s , '(%a)̩', '\\textsyllabic{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", syllabic, "syllabic")} -\begin{luacode} + \begin{luacode} function nonsyllabic ( s ) s = unicode.utf8.gsub ( s , '(%a)̯', '\\textsubarch{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", nonsyllabic, "nonsyllabic")} -\begin{luacode} + \begin{luacode} function breathyvoiced ( s ) s = unicode.utf8.gsub ( s , '(%a)̤', '\\textsubumlaut{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", breathyvoiced, "breathyvoiced")} -\begin{luacode} + \begin{luacode} function linguolabial ( s ) s = unicode.utf8.gsub ( s , '(%a)̼', '\\textseagull{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", linguolabial, "linguolabial")} -\begin{luacode} + \begin{luacode} function velarized ( s ) s = unicode.utf8.gsub ( s , '(%a)̴', '\\textsuperimposetilde{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", velarized, "velarized")} -\begin{luacode} + \begin{luacode} function raised ( s ) s = unicode.utf8.gsub ( s , '(%a)̝', '\\textraising{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", raised, "raised")} -\begin{luacode} + \begin{luacode} function lowered ( s ) s = unicode.utf8.gsub ( s , '(%a)̞', '\\textlowering{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", lowered, "lowered")} -\begin{luacode} + \begin{luacode} function advancedtr ( s ) s = unicode.utf8.gsub ( s , '(%a)̘', '\\textadvancing{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", advancedtr, "advancedtr")} -\begin{luacode} + \begin{luacode} function retractedtr ( s ) s = unicode.utf8.gsub ( s , '(%a)̙', '\\textretracting{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", retractedtr, "retractedtr")} -\begin{luacode} + \begin{luacode} function dental ( s ) s = unicode.utf8.gsub ( s , '(%a)̪', '\\textsubbridge{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", dental, "dental")} -\begin{luacode} + \begin{luacode} function apical ( s ) s = unicode.utf8.gsub ( s , '(%a)̺', '\\textinvsubbridge{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", apical, "apical")} -\begin{luacode} + \begin{luacode} function laminal ( s ) s = unicode.utf8.gsub ( s , '(%a)̻', '\\textsubsquare{%1}' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", laminal, "laminal")} -\begin{luacode} + \begin{luacode} function unaudible ( s ) s = unicode.utf8.gsub ( s , '(%a)̚', '%1\\textcorner' ) return s end -\end{luacode} -\directlua{luatexbase.add_to_callback("process_input_buffer", + \end{luacode} + \directlua{luatexbase.add_to_callback("process_input_buffer", unaudible, "unaudible")} %% Tie bars \begin{luacode} - function tiebarup ( s ) - s = unicode.utf8.gsub ( s , '(%a)͡(%a)', '\\texttoptiebar{%1%2}' ) - return s - end + function tiebarup ( s ) + s = unicode.utf8.gsub ( s , '(%a)͡(%a)', '\\texttoptiebar{%1%2}' ) + return s + end \end{luacode} \directlua{luatexbase.add_to_callback("process_input_buffer", - tiebarup, "tiebarup")} + tiebarup, "tiebarup")} \begin{luacode} - function tiebardown ( s ) - s = unicode.utf8.gsub ( s , '(%a)͜(%a)', '\\textbottomtiebar{%1%2}' ) - return s - end + function tiebardown ( s ) + s = unicode.utf8.gsub ( s , '(%a)͜(%a)', '\\textbottomtiebar{%1%2}' ) + return s + end \end{luacode} \directlua{luatexbase.add_to_callback("process_input_buffer", - tiebardown, "tiebardown")} + tiebardown, "tiebardown")} \begin{luacode} - function risefall ( s ) - s = unicode.utf8.gsub ( s , '(%a)᷈', '\\textrisefall{%1}' ) - return s - end + function risefall ( s ) + s = unicode.utf8.gsub ( s , '(%a)᷈', '\\textrisefall{%1}' ) + return s + end \end{luacode} \directlua{luatexbase.add_to_callback("process_input_buffer", - risefall, "risefall")} + risefall, "risefall")} \begin{luacode} - function rising ( s ) - s = unicode.utf8.gsub ( s , '(%a)᷄', '\\texthighrise{%1}' ) - return s - end + function rising ( s ) + s = unicode.utf8.gsub ( s , '(%a)᷄', '\\texthighrise{%1}' ) + return s + end \end{luacode} \directlua{luatexbase.add_to_callback("process_input_buffer", - rising, "rising")} + rising, "rising")} \begin{luacode} - function falling ( s ) - s = unicode.utf8.gsub ( s , '(%a)᷅', '\\textlowrise{%1}' ) - return s - end + function falling ( s ) + s = unicode.utf8.gsub ( s , '(%a)᷅', '\\textlowrise{%1}' ) + return s + end \end{luacode} \directlua{luatexbase.add_to_callback("process_input_buffer", - falling, "falling")} + falling, "falling")} \fi %% Pulmonic Consonants %% Plosives @@ -274,6 +273,7 @@ TIPA typefaces with unicode characters] %% Nasals \newunicodechar{ɱ}{\textltailm} \newunicodechar{ɳ}{\textrtailn} +\newunicodechar{ɲ}{\textltailn} %% Added in v0.2 \newunicodechar{ɴ}{\textscn} %% Trills \newunicodechar{ʙ}{\textscb} @@ -335,6 +335,11 @@ TIPA typefaces with unicode characters] \newunicodechar{ɐ}{\textturna} \newunicodechar{ɶ}{\textscoelig} \newunicodechar{ɒ}{\textturnscripta} +%% Open +%% Reported and added by Heller, Thomas on 2021/03/13 +%% Bug report - https://gitlab.com/niranjanvikastambe/unitipa/-/issues/1 +%% MR - https://gitlab.com/niranjanvikastambe/unitipa/-/merge_requests/1 +\newunicodechar{ɑ}{\textscripta} %% Non-Pulmonic \newunicodechar{ʘ}{\textbullseye} \newunicodechar{ǀ}{\textpipe} -- cgit v1.2.3