Fix #11062, new LaTeX feature "textschwa".

Following the suggestion in the Babel-Azerbaijani documentation,
we use the glyphs from the Cyrillic fonts for the Latin
text character. This fits better than IPA fonts (assuming there are matching
Latin and Cyrillic fonts specified) and also provides bold etc.
This commit is contained in:
Günter Milde 2019-05-14 17:12:46 +02:00
parent 06ae6e118c
commit 6aabcaf856
3 changed files with 111 additions and 5 deletions

View File

@ -43,6 +43,9 @@
}{}
\end_preamble
\use_default_options false
\begin_modules
enumitem
\end_modules
\maintain_unincluded_children false
\language english
\language_package auto
@ -647,6 +650,98 @@ Polyglossia asturian
LangCode ast_ES
\end_layout
\begin_layout Subsection*
Azerbaijani (Azeri, Azeri Turkish)
\end_layout
\begin_layout Quote
\emph on
Azərbaycan dili
\emph default
(
\emph on
Azərbaycanca
\emph default
,
\emph on
Azərbaycan türkcəsi
\emph default
, tarixi adı:
\emph on
Türk
\emph default
\emph on
dili
\emph default
və ya
\emph on
Türkcə
\emph default
)[11] — Azərbaycan Respublikasının və Rusiya Federasiyasının Dağıstan Respublika
sının rəsmi dövlət dilidir.
Altay dilləri ailəsinin türk dilləri şöbəsinin Oğuz sinfinin Qərb qrupuna
daxildir.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
Babel azerbaijani (nicht von LyX unterstützt)
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
Script Latin
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
LangCode az_AZ
\end_layout
\begin_layout Itemize
Arabic script was used up to 1929 (still used in Iran).
\begin_inset Newline newline
\end_inset
Cyrillic script was used 1938-1991 (still used in Dagestan).
\end_layout
\begin_layout Itemize
Requires font encodings T1 and T2A (for the letter schwa).
Use preamble code
\end_layout
\begin_layout LyX-Code
\backslash
DeclareTextCommand{
\backslash
textSchwa}{T1}{
\backslash
CYRSCHWA
\backslash
bbl@allowhyphens}
\end_layout
\begin_layout LyX-Code
\backslash
DeclareTextCommand{
\backslash
textschwa}{T1}{
\backslash
cyrschwa
\backslash
bbl@allowhyphens}
\end_layout
\begin_layout Subsection*
Basq
\end_layout
\begin_layout Subsection*
Basque
\end_layout

View File

@ -303,7 +303,7 @@
#0x018c "" "" "" # LATIN SMALL LETTER D WITH TOPBAR
#0x018d "" "" "" # LATIN SMALL LETTER TURNED DELTA
#0x018e "" "" "" # LATIN CAPITAL LETTER REVERSED E
#0x018f "" "" "" # LATIN CAPITAL LETTER SCHWA
0x018f "\\textSchwa" "textschwa" "force=utf8;utf8-cjk" # LATIN CAPITAL LETTER SCHWA
#0x0190 "" "" "" # LATIN CAPITAL LETTER OPEN E
#0x0191 "" "" "" # LATIN CAPITAL LETTER F WITH HOOK
0x0192 "\\textflorin" "textcomp" "force=cp862;cp1255;cp1256" # LATIN SMALL LETTER F WITH HOOK
@ -507,7 +507,7 @@
0x0256 "\\textrtaild" "tipa" "force" # LATIN SMALL LETTER D WITH TAIL
0x0257 "\\texthtd" "tipa" "force" # LATIN SMALL LETTER D WITH HOOK
0x0258 "\\textreve" "tipa" "force,tipashortcut=9" # LATIN SMALL LETTER REVERSED E
0x0259 "\\textschwa" "tipa" "force,tipashortcut=@" # LATIN SMALL LETTER SCHWA
0x0259 "\\textschwa" "tipa|textschwa" "force,tipashortcut=@" # LATIN SMALL LETTER SCHWA
0x025a "\\textrhookschwa" "tipa" "force" # LATIN SMALL LETTER SCHWA WITH HOOK
0x025b "\\textepsilon" "tipa" "force,tipashortcut=E" "\\varepsilon" "" # LATIN SMALL LETTER OPEN E
0x025c "\\textrevepsilon" "tipa" "force,tipashortcut=3" # LATIN SMALL LETTER REVERSED OPEN E
@ -1330,7 +1330,7 @@
0x1d47 "\\textsuperscript{b}" "" "force=utf8;utf8x;utf8-cjk" # MODIFIER LETTER SMALL B
0x1d48 "\\textsuperscript{d}" "" "force=utf8;utf8x;utf8-cjk" # MODIFIER LETTER SMALL D
0x1d49 "\\textsuperscript{e}" "" "force=utf8;utf8x;utf8-cjk" # MODIFIER LETTER SMALL E
0x1d4a "\\textsuperscript{\\textschwa}" "tipa" "force" # MODIFIER LETTER SMALL SCHWA
0x1d4a "\\textsuperscript{\\textschwa}" "tipa|textschwa" "force" # MODIFIER LETTER SMALL SCHWA
0x1d4b "\\textsuperscript{\\textepsilon}" "tipa" "force" # MODIFIER LETTER SMALL OPEN E
0x1d4c "\\textsuperscript{\\textrevepsilon}" "tipa" "force" # MODIFIER LETTER SMALL TURNED OPEN E
0x1d4d "\\textsuperscript{g}" "" "force=utf8;utf8x;utf8-cjk" # MODIFIER LETTER SMALL G
@ -1997,7 +1997,7 @@
0x2091 "\\textsubscript{e}" "subscript" "force=utf8;utf8x;utf8-cjk" "{{}_e}" "" # LATIN SUBSCRIPT SMALL LETTER E
0x2092 "\\textsubscript{o}" "subscript" "force=utf8;utf8x;utf8-cjk" "{{}_o}" "" # LATIN SUBSCRIPT SMALL LETTER O
0x2093 "\\textsubscript{x}" "subscript" "force=utf8;utf8x;utf8-cjk" "{{}_x}" "" # LATIN SUBSCRIPT SMALL LETTER X
0x2094 "\\textsubscript{\\textschwa}" "subscript" "force=utf8;utf8x;utf8-cjk" "{{}_\\textschwa}" "tipa" # LATIN SUBSCRIPT SMALL LETTER SCHWA
0x2094 "\\textsubscript{\\textschwa}" "subscript,tipa|textschwa" "force=utf8;utf8x;utf8-cjk" "{{}_\\textschwa}" "tipa" # LATIN SUBSCRIPT SMALL LETTER SCHWA
#
# 72 Currency Symbols
#

View File

@ -349,6 +349,14 @@ static docstring const textbaltic_def = from_ascii(
"\\DeclareTextCompositeCommand{\\c}{T1}{r}{\\textcommabelow{r}}\n"
"\\DeclareTextCompositeCommand{\\c}{T1}{R}{\\textcommabelow{R}}\n");
// Use cyrillic fonts to provide letter schwa in text (see #11062)
static docstring const textschwa_def = from_ascii(
"%% letter schwa missing in Latin fonts, use Cyrillic schwa\n"
"\\DeclareTextSymbolDefault{\\CYRSCHWA}{T2A}\n"
"\\DeclareTextSymbolDefault{\\cyrschwa}{T2A}\n"
"\\ProvideTextCommandDefault{\\textSchwa}{\\CYRSCHWA}\n"
"\\ProvideTextCommandDefault{\\textschwa}{\\cyrschwa}\n");
// split-level fractions
static docstring const xfrac_def = from_ascii(
"\\usepackage{xfrac}\n");
@ -893,7 +901,7 @@ void LaTeXFeatures::getFontEncodings(vector<string> & encs, bool const onlylangs
if (mustProvide("textgreek")
&& find(encs.begin(), encs.end(), "LGR") == encs.end())
encs.insert(encs.begin(), "LGR");
if (mustProvide("textcyrillic")
if ((mustProvide("textcyrillic") || mustProvide("textschwa"))
&& find(encs.begin(), encs.end(), "T2A") == encs.end())
encs.insert(encs.begin(), "T2A");
}
@ -1431,6 +1439,9 @@ TexString LaTeXFeatures::getMacros() const
if (mustProvide("textbaltic"))
macros << textbaltic_def << '\n';
if (mustProvide("textschwa"))
macros << textschwa_def << '\n';
// split-level fractions
if (mustProvide("xfrac") || mustProvide("smallLetterFrac"))
macros << xfrac_def << '\n';