commit 366e37c851ab05c08ee492fed22954eb3028b21c
Author: Kornel Benko <[email protected]>
Date: Fri Aug 10 19:38:06 2018 +0200
Added latex-DejaVu fonts to lyx-GUI.
Increment lyx-format to 561
---
development/FORMAT | 3 +++
lib/chkconfig.ltx | 5 +++++
lib/latexfonts | 34 +++++++++++++++++++++++++++++++++-
lib/lyx2lyx/lyx_2_4.py | 31 ++++++++++++++++++++++++++++++-
src/tex2lyx/Preamble.cpp | 6 +++---
src/tex2lyx/TODO.txt | 1 +
src/version.h | 4 ++--
7 files changed, 77 insertions(+), 7 deletions(-)
diff --git a/development/FORMAT b/development/FORMAT
index cfd4302..4bf2519 100644
--- a/development/FORMAT
+++ b/development/FORMAT
@@ -7,6 +7,9 @@ changes happened in particular if possible. A good example
would be
-----------------------
+2018-08-10 Kornel Benko <[email protected]>
+ * format incremented to 561: Added DejaVu fonts
+
2018-08-07 Jürgen Spitzmüller <[email protected]>
* format incremented to 560: Time-related info insets: time, modtime,
fixtime;
new buffer info inset type: name-noext.
diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx
index 401406e..ac03ff8 100644
--- a/lib/chkconfig.ltx
+++ b/lib/chkconfig.ltx
@@ -445,6 +445,11 @@
\TestFont[eorm10]{ecc} % required by ccfonts
\TestPackage[ot1ccr.fd]{concmath} % required by ccfonts
\TestPackage{cmbright}
+\TestPackage{DejaVuSans}
+\TestPackage{DejaVuSansCondensed}
+\TestPackage{DejaVuSansMono}
+\TestPackage{DejaVuSerif}
+\TestPackage{DejaVuSerifCondensed}
\TestPackage{eco}
\TestPackage{eulervm}
\TestPackage{feyn}
diff --git a/lib/latexfonts b/lib/latexfonts
index f3a438a..2c9c246 100644
--- a/lib/latexfonts
+++ b/lib/latexfonts
@@ -148,6 +148,18 @@ Font cmr
OsfFont eco
EndFont
+Font DejaVuSerif
+ GuiName "DejaVu Serif"
+ Family rm
+ Package DejaVuSerif
+EndFont
+
+Font DejaVuSerifCondensed
+ GuiName "DejaVu Serif Condensed"
+ Family rm
+ Package DejaVuSerifCondensed
+EndFont
+
AltFont eco
Family rm
Package eco
@@ -528,6 +540,20 @@ Font cmss
SwitchDefault 1
EndFont
+Font DejaVuSans
+ GuiName "DejaVu Sans"
+ Family sf
+ Package DejaVuSans
+ ScaleOption scaled=$$val
+EndFont
+
+Font DejaVuSansCondensed
+ GuiName "DejaVu Sans Condensed"
+ Family sf
+ Package DejaVuSansCondensed
+ ScaleOption scaled=$$val
+EndFont
+
Font helvet
GuiName "Helvetica"
Family sf
@@ -633,7 +659,6 @@ Font uop
Requires urwclassico
EndFont
-
#
# MONOSPACED FONTS
#
@@ -667,6 +692,13 @@ Font courier
Requires psnfss
EndFont
+Font DejaVuSansMono
+ GuiName "DejaVu Sans Mono"
+ Family tt
+ Package DejaVuSansMono
+ ScaleOption scaled=$$val
+EndFont
+
Font libertine-mono
GuiName "Libertine Mono"
Family tt
diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py
index 4d8e3da..b5c325f 100644
--- a/lib/lyx2lyx/lyx_2_4.py
+++ b/lib/lyx2lyx/lyx_2_4.py
@@ -51,6 +51,33 @@ from lyx2lyx_tools import (put_cmd_in_ert, add_to_preamble)
###
###############################################################################
+def revert_dejavu(document):
+ " Revert native DejaVu font definition to LaTeX "
+
+ if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1:
+ dejavu_fonts = ['DejaVuSerif', 'DejaVuSerifCondensed', 'DejaVuSans',
+ 'DejaVuSansMono', 'DejaVuSansCondensed']
+ font_types = ["\\font_roman", "\\font_sans,sf", "\\font_typewriter,tt"]
+ for ft1 in font_types:
+ fts = ft1.split(",")
+ ft = fts[0]
+ i = find_token(document.header, ft, 0)
+ if i != -1:
+ val = get_value(document.header, ft, i)
+ words = val.split()
+ val = words[0].replace('"', '')
+ if val in dejavu_fonts:
+ xoption = ""
+ document.header[i] = ft + ' "default" ' + words[1]
+ if len(fts) > 1:
+ xval = get_value(document.header, "\\font_" + fts[1]
+ "_scale", 0)
+ # cutoff " 100"
+ xval = xval[:-4]
+ if xval != "100":
+ xoption = "[scaled=" + format(float(xval) / 100,
'.2f') + "]"
+ preamble = "\\usepackage" + xoption + "{%s}" % val
+ add_to_preamble(document, [preamble])
+
def removeFrontMatterStyles(document):
" Remove styles Begin/EndFromatter"
@@ -1071,10 +1098,12 @@ convert = [
[557, [convert_vcsinfo]],
[558, [removeFrontMatterStyles]],
[559, []],
- [560, []]
+ [560, []],
+ [561, []]
]
revert = [
+ [560, [revert_dejavu]],
[559, [revert_timeinfo, revert_namenoextinfo]],
[558, [revert_dateinfo]],
[557, [addFrontMatterStyles]],
diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp
index e4e10c0..4dc042f 100644
--- a/src/tex2lyx/Preamble.cpp
+++ b/src/tex2lyx/Preamble.cpp
@@ -141,18 +141,18 @@ const char * const known_old_language_packages[] =
{"french", "frenchle",
char const * const known_fontsizes[] = { "10pt", "11pt", "12pt", 0 };
const char * const known_roman_fonts[] = { "ae", "beraserif", "bookman",
-"ccfonts", "chancery", "charter", "cmr", "cochineal", "crimson", "fourier",
+"ccfonts", "chancery", "charter", "cmr", "cochineal", "crimson",
"DejaVuSerif", "DejaVuSerifCondensed", "fourier",
"garamondx", "libertine", "libertineRoman", "libertine-type1", "lmodern",
"mathdesign", "mathpazo",
"mathptmx", "MinionPro", "newcent", "NotoSerif-TLF", "PTSerif-TLF", "tgbonum",
"tgchorus",
"tgpagella", "tgschola", "tgtermes", "utopia", "xcharter", 0 };
const char * const known_sans_fonts[] = { "avant", "berasans", "biolinum",
-"biolinum-type1", "cmbr", "cmss", "helvet", "iwona", "iwonac", "iwonal",
"iwonalc",
+"biolinum-type1", "cmbr", "cmss", "DejaVuSans", "DejaVuSansCondensed",
"helvet", "iwona", "iwonac", "iwonal", "iwonalc",
"kurier", "kurierc", "kurierl", "kurierlc", "lmss", "NotoSans-TLF",
"PTSans-TLF",
"tgadventor", "tgheros", "uop", 0 };
const char * const known_typewriter_fonts[] = { "beramono", "cmtl", "cmtt",
-"courier", "lmtt", "luximono", "fourier", "libertineMono",
"libertineMono-type1", "lmodern",
+"courier", "DejaVuSansMono", "lmtt", "luximono", "fourier", "libertineMono",
"libertineMono-type1", "lmodern",
"mathpazo", "mathptmx", "newcent", "NotoMono-TLF", "PTMono-TLF", "tgcursor",
"txtt", 0 };
const char * const known_math_fonts[] = { "eulervm", "newtxmath", 0};
diff --git a/src/tex2lyx/TODO.txt b/src/tex2lyx/TODO.txt
index b2b5406..8b3ab40 100644
--- a/src/tex2lyx/TODO.txt
+++ b/src/tex2lyx/TODO.txt
@@ -63,6 +63,7 @@ Format LaTeX feature LyX feature
556 Bib files encoding
\begin_inset CommandInset bibtex Biblatex: bibencoding=<encoding>
[latex name]
encoding=<encoding> [lyx name] BibTeX:
\bgroup\inputencoding{<encoding>}...\egroup
+561 DejaVu fonts for latex \font_(roman|sans|typewriter)
setting
diff --git a/src/version.h b/src/version.h
index f408633..f583da6 100644
--- a/src/version.h
+++ b/src/version.h
@@ -32,8 +32,8 @@ extern char const * const lyx_version_info;
// Do not remove the comment below, so we get merge conflict in
// independent branches. Instead add your own.
-#define LYX_FORMAT_LYX 560 // spitz: time info insets
-#define LYX_FORMAT_TEX2LYX 560
+#define LYX_FORMAT_LYX 561 // kornel: Added dejavu fonts
+#define LYX_FORMAT_TEX2LYX 561
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
#ifndef _MSC_VER