]> git.lyx.org Git - features.git/blobdiff - lib/lyx2lyx/lyx_2_3.py
latexfonts: support for the Noto fonts
[features.git] / lib / lyx2lyx / lyx_2_3.py
index cdbaefbe98d06434b733affcac6301599b0f0877..4d0e403fa77ccc1f25a9131ba683a302b09d0dd7 100644 (file)
@@ -1,6 +1,5 @@
 # -*- coding: utf-8 -*-
 # This file is part of lyx2lyx
-# -*- coding: utf-8 -*-
 # Copyright (C) 2016 The LyX team
 #
 # This program is free software; you can redistribute it and/or
@@ -99,7 +98,7 @@ def convert_inputenc(document):
         return
     if get_value(document.header, "\\inputencoding", i) == "pt254":
         document.header[i] = "\\inputencoding pt154"
-    
+
 
 def convert_ibranches(document):
     ' Add "inverted 0" to branch insets'
@@ -129,7 +128,7 @@ def revert_ibranches(document):
         else:
             document.warning("Malformed LyX document: No selection indicator for branch " + branch)
             selected = 1
-            
+
         # the value tells us whether the branch is selected
         ourbranches[document.header[i][8:].strip()] = selected
         i += 1
@@ -167,7 +166,7 @@ def revert_ibranches(document):
         i += 1
 
     # now we need to add the new branches to the header
-    for old, new in ibranches.iteritems():
+    for old, new in ibranches.items():
         i = find_token(document.header, "\\branch " + old, 0)
         if i == -1:
             document.warning("Can't find branch %s even though we found it before!" % (old))
@@ -582,7 +581,7 @@ def revert_quotes(document):
                 replace = "'"
             document.body[k:l+1] = [replace]
         i = l
-    
+
 
 def revert_iopart(document):
     " Input new styles via local layout "
@@ -1031,7 +1030,7 @@ def revert_cjkquotes(document):
 
 
 def revert_crimson(document):
-    " Revert native Cochineal/Crimson font definition to LaTeX " 
+    " Revert native Cochineal/Crimson font definition to LaTeX "
 
     if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1:
         preamble = ""
@@ -1051,9 +1050,9 @@ def revert_crimson(document):
 
 
 def revert_cochinealmath(document):
-    " Revert cochineal newtxmath definitions to LaTeX " 
+    " Revert cochineal newtxmath definitions to LaTeX "
 
-    if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1: 
+    if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1:
         i = find_token(document.header, "\\font_math \"cochineal-ntxm\"", 0)
         if i != -1:
             add_to_preamble(document, "\\usepackage[cochineal]{newtxmath}")
@@ -1847,7 +1846,7 @@ def convert_dashligatures(document):
 
     i = find_token(document.header, "\\use_microtype", 0)
     if i != -1:
-        if document.start > 474 and document.start < 509:
+        if document.initial_format > 474 and document.initial_format < 509:
             # This was created by LyX 2.2
             document.header[i+1:i+1] = ["\\use_dash_ligatures false"]
         else:
@@ -1940,7 +1939,26 @@ def revert_dashligatures(document):
             document.body[i] = document.body[i][:j+1] + u"\u200B" + after
             start = j+1
         i += 1
-    
+
+
+def revert_noto(document):
+    " Revert Noto font definitions to LaTeX "
+
+    if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1:
+        preamble = ""
+        i = find_token(document.header, "\\font_roman \"NotoSerif-TLF\"", 0)
+        if i != -1:
+            add_to_preamble(document, ["\\renewcommand{\\rmdefault}{NotoSerif-TLF}"])
+            document.header[i] = document.header[i].replace("NotoSerif-TLF", "default")
+        i = find_token(document.header, "\\font_sans \"NotoSans-TLF\"", 0)
+        if i != -1:
+            add_to_preamble(document, ["\\renewcommand{\\sfdefault}{NotoSans-TLF}"])
+            document.header[i] = document.header[i].replace("NotoSans-TLF", "default")
+        i = find_token(document.header, "\\font_typewriter \"NotoMono-TLF\"", 0)
+        if i != -1:
+            add_to_preamble(document, ["\\renewcommand{\\ttdefault}{NotoMono-TLF}"])
+            document.header[i] = document.header[i].replace("NotoMono-TLF", "default")
+
 
 ##
 # Conversion hub
@@ -1974,10 +1992,12 @@ convert = [
            [532, [convert_literalparam]],
            [533, []],
            [534, []],
-           [535, [convert_dashligatures]]
+           [535, [convert_dashligatures]],
+           [536, []]
           ]
 
 revert =  [
+           [535, [revert_noto]],
            [534, [revert_dashligatures]],
            [533, [revert_chapterbib]],
            [532, [revert_multibib]],