]> git.lyx.org Git - features.git/commitdiff
Force unicodesymbols conversion with uf8-platex.
authorGünter Milde <milde@lyx.org>
Wed, 10 Apr 2019 14:05:46 +0000 (16:05 +0200)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 18 Jun 2020 13:48:24 +0000 (15:48 +0200)
Fixes Japanese (platex) documents with text parts in other languages.

lib/examples/ja/Multilingual_Typesetting_%28platex%29.lyx
lib/examples/ja/Welcome.lyx
src/Encoding.cpp

index fe77924f0400872f0474922789d6e8c11edb66e6..40bb2abe47bf16e8b7a661ae9e968e76526f83f3 100644 (file)
@@ -9,9 +9,9 @@
 \maintain_unincluded_children false
 \language japanese
 \language_package auto
-\inputencoding jis-platex
-\fontencoding OT1
-\font_roman "default" "default"
+\inputencoding utf8-platex
+\fontencoding auto
+\font_roman "lmodern" "default"
 \font_sans "default" "default"
 \font_typewriter "default" "default"
 \font_math "auto" "auto"
@@ -104,8 +104,19 @@ Deutsch: Grüße aus Österreich!
 \end_layout
 
 \begin_layout Standard
-Greek and Cyrillic script use too wide characters (except for force-converted
- letters):
+Greek and Cyrillic Unicode characters are too wide.
+ With Document\SpecialChar menuseparator
+Settings\SpecialChar menuseparator
+Language\SpecialChar menuseparator
+Encoding 
+\begin_inset Quotes eld
+\end_inset
+
+Japanese (platex) (utf8)
+\begin_inset Quotes erd
+\end_inset
+
+ they are converted to LaTeX macros, so that the output matches Latin letters:
 \end_layout
 
 \begin_layout Quotation
@@ -140,80 +151,41 @@ Afrikaans: Good dag minher.
 
 \begin_layout Standard
 
-\lang french
-French: «Bonsoir à vous.»
-\end_layout
-
-\begin_layout Standard
-
-\lang swedish
-Swedish: Hej då.
-\end_layout
-
-\begin_layout Standard
-
 \emph on
-Missing characters with inputenc 
+Missing and wrong characters with 
+\emph default
+Language\SpecialChar menuseparator
+Encoding 
 \begin_inset Quotes eld
 \end_inset
 
-auto
-\begin_inset Quotes erd
-\end_inset
-
-\emph default
-(language default) 
+language default
 \emph on
-and 
-\begin_inset Quotes eld
-\end_inset
 
-utf8-platex
 \begin_inset Quotes erd
 \end_inset
 
 
 \emph default
-: 
+:
 \end_layout
 
 \begin_layout Standard
 
-\lang ngerman
-Deutsch: Grüße aus Österreich! 
-\lang japanese
-
-\begin_inset Note Note
-status open
-
-\begin_layout Plain Layout
-wrong encoding?, (Umlaut not as 
-\backslash
-
-\begin_inset Quotes erd
-\end_inset
-
-{O})
+\lang swedish
+Swedish: Hej då.
 \end_layout
 
-\end_inset
-
+\begin_layout Standard
 
+\lang ngerman
+Deutsch: Grüße aus Österreich! 
 \end_layout
 
 \begin_layout Standard
 
-\emph on
-Wrong characters with inputenc 
-\begin_inset Quotes eld
-\end_inset
-
-auto
-\begin_inset Quotes erd
-\end_inset
-
- (language default):
+\lang french
+French: «Bonsoir à vous.»
 \end_layout
 
 \begin_layout Standard
index 691f14633c9763b4690d97cd93d05aeb63c55fb0..21e5fa6c1b243bf2d2406e5d25a395d23dce0a0c 100644 (file)
@@ -1,5 +1,5 @@
-#LyX 2.3 created this file. For more info see http://www.lyx.org/
-\lyxformat 544
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 572
 \begin_document
 \begin_header
 \save_transient_properties true
@@ -9,9 +9,9 @@
 \maintain_unincluded_children false
 \language japanese
 \language_package auto
-\inputencoding jis-platex
-\fontencoding OT1
-\font_roman "default" "default"
+\inputencoding utf8-platex
+\fontencoding auto
+\font_roman "lmodern" "default"
 \font_sans "default" "default"
 \font_typewriter "default" "default"
 \font_math "auto" "auto"
@@ -28,6 +28,8 @@
 \output_sync 0
 \bibtex_command default
 \index_command default
+\float_placement class
+\float_alignment class
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -68,6 +70,7 @@
 \papercolumns 1
 \papersides 1
 \paperpagestyle default
+\tablestyle default
 \tracking_changes false
 \output_changes false
 \html_math_output 0
index 750a2ba3cd6431bcf83fcc07f450914548368d01..321744c16682dbb091f1df9b94496728bc4b1431 100644 (file)
@@ -192,6 +192,14 @@ bool Encoding::encodable(char_type c) const
 
        if (iconvName_ == "UTF-8" && package_ == none)
                return true;
+       // platex does not load inputenc: force conversion of supported characters
+       if (name_ == "utf8-platex"
+           &&  c > 0x007f                 // Latin-1 Supplement
+               && (c < 0x05ff || c > 0x1d00)  // ... Hebrew + Phonetic Extensions
+               && (c < 0x2aff || c > 0xfb00)  // ... Supplemental Mathematical Operators + Alphabetic...
+               && (c < 0xfb4f || c > 0x1d400) // ...Presentation Forms + Mathematical...
+           &&  c < 0x1d7ff)                       // ...Alphanumeric Symbols
+               return false;  
        if (c < start_encodable_ && !isForced(c))
                return true;
        if (encodable_.find(c) != encodable_.end())