summaryrefslogtreecommitdiff
path: root/macros/luatex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-15 03:01:24 +0000
committerNorbert Preining <norbert@preining.info>2021-03-15 03:01:24 +0000
commit36607734949d1736c36ed7b9f3a12a74d7a8ce86 (patch)
tree16f4b95c6487768dc8c9ab93a82bbcfe6e7f35df /macros/luatex
parent954d393d844eacce4354b6174613f467bcd7a257 (diff)
CTAN sync 202103150301
Diffstat (limited to 'macros/luatex')
-rw-r--r--macros/luatex/latex/unitipa/README.txt3
-rw-r--r--macros/luatex/latex/unitipa/unitipa.dtx256
-rw-r--r--macros/luatex/latex/unitipa/unitipa.pdfbin178561 -> 191050 bytes
3 files changed, 150 insertions, 109 deletions
diff --git a/macros/luatex/latex/unitipa/README.txt b/macros/luatex/latex/unitipa/README.txt
index b68d0b4fdb..2d9bc5ba02 100644
--- a/macros/luatex/latex/unitipa/README.txt
+++ b/macros/luatex/latex/unitipa/README.txt
@@ -1,10 +1,9 @@
--------------------------------------------------------------------------
Package: unitipa
Author: Niranjan
-Version: 0.1 (21 September, 2020)
+Version: 0.2 (13 March, 2021)
Description: TIPA typefaces with Unicode characters.
Repository: https://gitlab.com/niranjanvikastambe/unitipa
Bug tracker: https://gitlab.com/niranjanvikastambe/unitipa/-/issues
License: The LaTeX Project Public License v1.3c or later.
--------------------------------------------------------------------------
-
diff --git a/macros/luatex/latex/unitipa/unitipa.dtx b/macros/luatex/latex/unitipa/unitipa.dtx
index 4437f73253..e834a96c02 100644
--- a/macros/luatex/latex/unitipa/unitipa.dtx
+++ b/macros/luatex/latex/unitipa/unitipa.dtx
@@ -2,8 +2,9 @@
%
% File: unitipa.dtx
% ---------------------------------------------------------------------------
-% Package: unitipa
-% Author: Niranjan
+% Package: unitipa
+% Author: Niranjan
+% Version: 0.2 (13 March, 2021)
% Description: TIPA typefaces with Unicode characters.
% Repository: https://gitlab.com/niranjanvikastambe/unitipa
% Bug tracker: https://gitlab.com/niranjanvikastambe/unitipa/-/issues
@@ -33,7 +34,7 @@
--------------------------------------------------------------------------
Package: unitipa
Author: Niranjan
-Version: 0.1 (21 September, 2020)
+Version: 0.2 (13 March, 2021)
Description: TIPA typefaces with Unicode characters.
Repository: https://gitlab.com/niranjanvikastambe/unitipa
Bug tracker: https://gitlab.com/niranjanvikastambe/unitipa/-/issues
@@ -44,10 +45,10 @@ License: The LaTeX Project Public License v1.3c or later.
\fi
%</internal>
%<*driver|package>
-\def\unitipaPackageName{unitipa}
-\def\unitipaPackageVersion{0.1}
-\def\unitipaPackageDate{2020/21/09}
-\def\unitipaPackageDescription{TIPA typefaces with Unicode characters.}
+\def\unitipaname{unitipa}
+\def\unitipaversion{0.2}
+\def\unitipadate{2021/03/13}
+\def\unitipadescription{TIPA typefaces with Unicode characters.}
%</driver|package>
%<*driver>
\documentclass{l3doc}
@@ -56,32 +57,41 @@ License: The LaTeX Project Public License v1.3c or later.
\usepackage{unitipa}
\usepackage{hyperref}
\usepackage{xcolor}
-\hypersetup{
-colorlinks,
-linkcolor=red!60!black,
-citecolor=green!60!black,
-urlcolor=blue!60!black
-}
+\hypersetup{%
+colorlinks,%
+linkcolor=red!60!black,%
+citecolor=green!60!black,%
+urlcolor=blue!60!black%
+}%
\usepackage{fontawesome5}
\begin{document}
- \DocInput{\unitipaPackageName.dtx}
+ \DocInput{\unitipaname.dtx}
\end{document}
%</driver>
% \fi
-% \title{The \pkg{\unitipaPackageName} package}
+% \title{The \pkg{\unitipaname} package}
% \author{Niranjan}
% \date^^A
% {^^A
-% Version \unitipaPackageVersion\ --- \unitipaPackageDate\\[1ex]^^A
+% Version \unitipaversion\ --- \unitipadate\\[1ex]^^A
% {\small\faIcon{link}\quad\url{https://ctan.org/pkg/unitipa}}\\^^A
% {\small\faIcon{gitlab}\quad\url{https://gitlab.com/niranjanvikastambe/unitipa}}^^A
% }
% \maketitle
-
-% This package converts Unicode characters into TIPA commands, which gives us \pkg{tipa} typefaces, without actually learning the \pkg{tipa} commands in much details. This package needs Lua\LaTeX\ as the compiler for correctly typesetting the IPA diacritics. TIPA was designed to match with the Computer Modern design, no other IPA font matches with traditional \LaTeX\ font. This package is helpful for getting the beautiful \pkg{tipa} shapes with Unicode characters. This package assumes that the user knows how to type IPA Unicode. Following is the list of symbols that \textit{cannot} be used with the traditional \LaTeX\ font. Every other symbol in the IPA chart is present in the current \LaTeX\ font.
+%
+% This package converts Unicode characters into TIPA commands, which gives us
+% \pkg{tipa} typefaces, without actually learning the \pkg{tipa} commands in
+% much details. This package needs Lua\LaTeX\ as the compiler for correctly
+% typesetting the IPA diacritics. TIPA was designed to match with the Computer
+% Modern design, no other IPA font matches with traditional \LaTeX\ font. This
+% package is helpful for getting the beautiful \pkg{tipa} shapes with Unicode
+% characters. This package assumes that the user knows how to type IPA
+% Unicode. Following is the list of symbols that \textit{cannot} be used with
+% the traditional \LaTeX\ font. Every other symbol in the IPA chart is present
+% in the current \LaTeX\ font.
% \begin{description}
% \item[Plosives] ʈ ɖ ɟ ɢ ʔ
-% \item[Nasals] ɱ ɳ ɴ
+% \item[Nasals] ɱ ɳ ɲ\footnote{Added in v0.2} ɴ
% \item[Trills] ʙ ʀ
% \item[Taps or flaps] ⱱ ɾ ɽ
% \item[Fricatives] ɸ β θ ʃ ʒ ʂ ʐ ɣ χ ʁ ʕ ɦ
@@ -94,6 +104,13 @@ urlcolor=blue!60!black
% \item[Close-mid vowels] ɵ ɤ
% \item[Open-mid vowels] ɛ ɜ ɞ ʌ ɔ
% \item[Near-open vowels] ɐ ɶ ɒ
+% \item[Open vowels] ɑ\footnote{Reported \textit{\&} added by Heller, Thomas in
+% v0.2.
+%
+% Bug report - \url{https://gitlab.com/niranjanvikastambe/unitipa/-/issues/1}
+%
+% MR - \url{https://gitlab.com/niranjanvikastambe/unitipa/-/merge_requests/1}
+% }
% \item[Clicks] ʘ ǀ ǃ ǂ ǁ
% \item[Voiced Implosives] ɓ ɗ ʄ ɠ ʛ
% \item[Ejective] ʼ
@@ -107,10 +124,19 @@ urlcolor=blue!60!black
% \begin{documentation}
% \section{Package options}
% \begin{function}{nodiacritics}
-% If you are very sure that you don't need any IPA diacritics in your document, you can load the package with this option. If this option is loaded, package can be compiled with other compilers too, but no IPA diacritic will be printed.
+% If you are very sure that you don't need any IPA diacritics in your document,
+% you can load the package with this option. If this option is loaded, package
+% can be compiled with other compilers too, but no IPA diacritic will be
+% printed.
% \end{function}
% \begin{function}{ipafont}
-% IPA character [ⱱ] is not available in \pkg{tipa}, but for the convenience of users, this character is coded with Doulos SIL as it seemed to me the closest match to \pkg{tipa} typeface. If you don't have this font, please install package \pkg{\href{https://ctan.org/pkg/doulossil}{doulossil}} or download the font from \href{https://software.sil.org/doulos/}{here}. If users want to change the font used for this character, they can simply add the font name as the value to this option.
+% IPA character [ⱱ] is not available in \pkg{tipa}, but for the convenience of
+% users, this character is coded with Doulos SIL as it seemed to me the closest
+% match to \pkg{tipa} typeface. If you don't have this font, please install
+% package \pkg{\href{https://ctan.org/pkg/doulossil}{doulossil}} or download the
+% font from \href{https://software.sil.org/doulos/}{here}. If users want to
+% change the font used for this character, they can simply add the font name as
+% the value to this option.
% \begin{syntax}
% ipafont=\meta{font name}
% \end{syntax}
@@ -123,7 +149,7 @@ urlcolor=blue!60!black
%<*package>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesPackage{unitipa}[2020/21/09 v0.1
+\ProvidesPackage{unitipa}[2021/03/13 v0.2
TIPA typefaces with unicode characters]
\RequirePackage{tipa}
% \end{macrocode}
@@ -131,16 +157,17 @@ TIPA typefaces with unicode characters]
% \begin{macrocode}
\RequirePackage{graphicx}
% \end{macrocode}
-% Package \pkg{graphicx} is needed for printing [ɞ] correctly. See line no.\ 295.
+% Package \pkg{graphicx} is needed for printing [ɞ] correctly. See line no.\
+% 295.
% \begin{macrocode}
\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}}
@@ -179,189 +206,194 @@ 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
% \end{macrocode}
-% Option \verb|nodiacritics| provided for using the package without Lua\LaTeX. Enabling this option won't print any diacritics. Help from Samcarter and Mico Loretan on different platforms\footnote{Samcarter's \href{https://topanswers.xyz/tex?q=1332\#a1577}{answer} on TopAnswer \& Mico Loretan's \href{https://tex.stackexchange.com/a/563447/174620}{answer} on TeX.SE.} gave a right direction to this code.
+% Option \verb|nodiacritics| provided for using the package without
+% Lua\LaTeX. Enabling this option won't print any diacritics. Help from
+% Samcarter and Mico Loretan on different platforms\footnote{Samcarter's
+% \href{https://topanswers.xyz/tex?q=1332\#a1577}{answer} on TopAnswer \& Mico
+% Loretan's \href{https://tex.stackexchange.com/a/563447/174620}{answer} on
+% TeX.SE.} gave a right direction to this code.
% \begin{macrocode}
%% Pulmonic Consonants
%% Plosives
@@ -373,6 +405,7 @@ TIPA typefaces with unicode characters]
%% Nasals
\newunicodechar{ɱ}{\textltailm}
\newunicodechar{ɳ}{\textrtailn}
+\newunicodechar{ɲ}{\textltailn} %% Added in v0.2
\newunicodechar{ɴ}{\textscn}
%% Trills
\newunicodechar{ʙ}{\textscb}
@@ -434,6 +467,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}
@@ -478,4 +516,8 @@ TIPA typefaces with unicode characters]
%</package>
% \end{macrocode}
% \end{implementation}
+% \RecordChanges
+% \changes{v0.1}{2020/09/21}{Initial version}
+% \changes{v0.2}{2021/03/13}{Added characters `ɑ' and `ɲ'}
+% \PrintChanges
% \Finale \ No newline at end of file
diff --git a/macros/luatex/latex/unitipa/unitipa.pdf b/macros/luatex/latex/unitipa/unitipa.pdf
index d74cb5403a..c6b795dae1 100644
--- a/macros/luatex/latex/unitipa/unitipa.pdf
+++ b/macros/luatex/latex/unitipa/unitipa.pdf
Binary files differ