]> git.lyx.org Git - features.git/commitdiff
Fix #11062, new LaTeX feature "textschwa".
authorGünter Milde <milde@lyx.org>
Tue, 14 May 2019 15:12:46 +0000 (17:12 +0200)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 18 Jun 2020 13:48:29 +0000 (15:48 +0200)
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.

autotests/export/latex/languages/supported-languages.lyx
lib/unicodesymbols
src/LaTeXFeatures.cpp

index 42a3f6bdb965543793c45aed1c14ccca86a7692e..c2962572bbbd1fa8f2e195d55ca034821cae483e 100644 (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
index 3cdf18d1fee7b00f94041513e361b1e845ee5402..af0de5be40127b51818b3dbf9a6e4ac31a61b07e 100644 (file)
 #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
 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
 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
 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
 #
index 827b44992fba64cc526bdf47432a4dd1579369ff..d4c6d5e29bbbf83804e60255664d07325a93f4f0 100644 (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';