mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 05:16:21 +00:00
Add support for the libertinus family of fonts (#11899)
File format change.
This commit is contained in:
parent
780d9a5f4c
commit
8cb9a6d3f6
@ -519,6 +519,7 @@
|
||||
\TestPackage{libertineMono-type1}
|
||||
\TestPackage{libertineMono}
|
||||
\TestPackage{libertineRoman}
|
||||
\TestPackage{libertinus}
|
||||
\TestPackage{lmodern}
|
||||
\TestPackage{luximono}
|
||||
\TestPackage{mathdesign}% for Roman fonts
|
||||
|
@ -1,5 +1,5 @@
|
||||
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
||||
\lyxformat 595
|
||||
\lyxformat 597
|
||||
\begin_document
|
||||
\begin_header
|
||||
\save_transient_properties true
|
||||
@ -1181,6 +1181,81 @@ Libertine Mono
|
||||
\emph default
|
||||
typewriter font.
|
||||
This font is shipped with libertine font package as of February 2013.
|
||||
\change_inserted -712698321 1594287772
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
Libertin
|
||||
\change_deleted -712698321 1594287776
|
||||
e Mono
|
||||
\change_inserted -712698321 1594287776
|
||||
us
|
||||
\change_unchanged
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Description
|
||||
Found:
|
||||
\begin_inset Info
|
||||
type "package"
|
||||
arg "libertinus"
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Description
|
||||
CTAN:
|
||||
\family typewriter
|
||||
fonts/libertin
|
||||
\change_inserted -712698321 1594287840
|
||||
us
|
||||
\change_deleted -712698321 1594287840
|
||||
e
|
||||
\change_unchanged
|
||||
/
|
||||
\end_layout
|
||||
|
||||
\begin_layout Description
|
||||
Notes: The
|
||||
\family sans
|
||||
libertin
|
||||
\change_deleted -712698321 1594287845
|
||||
eMono-type1
|
||||
\change_inserted -712698321 1594287845
|
||||
us
|
||||
\change_unchanged
|
||||
|
||||
\family default
|
||||
package provides support for the
|
||||
\emph on
|
||||
Libertin
|
||||
\change_deleted -712698321 1594287851
|
||||
e Mono
|
||||
\emph default
|
||||
typewriter font
|
||||
\change_inserted -712698321 1594287856
|
||||
|
||||
\emph on
|
||||
us
|
||||
\emph default
|
||||
family of fonts
|
||||
\change_deleted -712698321 1594287920
|
||||
.
|
||||
This font is shipped with libertine font package as of February 2013
|
||||
\change_inserted -712698321 1594287938
|
||||
, a derivate of the
|
||||
\emph on
|
||||
Libertine
|
||||
\emph default
|
||||
and
|
||||
\emph on
|
||||
Biolinum
|
||||
\emph default
|
||||
family of fonts with dome extra features
|
||||
\change_unchanged
|
||||
.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
|
@ -318,6 +318,25 @@ AltFont libertine-legacy
|
||||
Package libertine
|
||||
EndFont
|
||||
|
||||
Font libertinus
|
||||
GuiName "Libertinus"
|
||||
Family rm
|
||||
OsfOption osf
|
||||
Package libertinus
|
||||
PackageOptions serif
|
||||
CompleteFont libertinus-full
|
||||
MoreOptions 1
|
||||
|
||||
EndFont
|
||||
|
||||
AltFont libertinus-full
|
||||
GuiName "Libertine"
|
||||
Family rm
|
||||
OsfOption osf
|
||||
Package libertinus
|
||||
MoreOptions 1
|
||||
EndFont
|
||||
|
||||
Font lmodern
|
||||
GuiName "Latin Modern Roman"
|
||||
Family rm
|
||||
@ -941,6 +960,24 @@ Font kurierlc
|
||||
SwitchDefault 1
|
||||
EndFont
|
||||
|
||||
Font LibertinusSans-LF
|
||||
GuiName "Libertinus Sans"
|
||||
Family sf
|
||||
Requires libertinus
|
||||
SwitchDefault 1
|
||||
OsfFont LibertinusSans-OsF
|
||||
OsfFontOnly 1
|
||||
ScaleCommand \renewcommand*{\LibertinusSans@scale}{$$val}
|
||||
EndFont
|
||||
|
||||
AltFont LibertinusSans-OsF
|
||||
GuiName "Libertinus Sans"
|
||||
Family sf
|
||||
Requires libertinus
|
||||
SwitchDefault 1
|
||||
ScaleCommand \renewcommand*{\LibertinusSans@scale}{$$val}
|
||||
EndFont
|
||||
|
||||
Font lmss
|
||||
GuiName "Latin Modern Sans"
|
||||
Family sf
|
||||
@ -1139,6 +1176,14 @@ AltFont libertine-mono-type1
|
||||
Package libertineMono-type1
|
||||
EndFont
|
||||
|
||||
Font LibertinusMono-TLF
|
||||
GuiName "Libertinus Mono"
|
||||
Family tt
|
||||
Requires libertinus
|
||||
SwitchDefault 1
|
||||
ScaleCommand \renewcommand*{\LibertinusMono@scale}{$$val}
|
||||
EndFont
|
||||
|
||||
Font lmtt
|
||||
GuiName "Latin Modern Typewriter"
|
||||
Family tt
|
||||
|
@ -194,6 +194,8 @@ def createFontMapping(fontlist):
|
||||
'FiraSansUltralight,ultralight'],
|
||||
"sans", "sf", "FiraSans", "scaled", "lf", "true")
|
||||
fm.expandFontMapping(['FiraMono'], "typewriter", "tt", "FiraMono", "scaled", "lf", "true")
|
||||
elif font == 'libertinus':
|
||||
fm.expandFontMapping(['libertinus,serif'], "roman", None, "libertinus", None, "osf")
|
||||
return fm
|
||||
|
||||
def convert_fonts(document, fm, osfoption = "osf"):
|
||||
@ -3849,6 +3851,75 @@ def revert_line_vspaces(document):
|
||||
subst = put_cmd_in_ert(insets[inset])
|
||||
document.body[i : end + 1] = subst
|
||||
|
||||
def convert_libertinus_rm_fonts(document):
|
||||
"""Handle Libertinus serif fonts definition to LaTeX"""
|
||||
|
||||
if not get_bool_value(document.header, "\\use_non_tex_fonts"):
|
||||
fm = createFontMapping(['Libertinus'])
|
||||
convert_fonts(document, fm)
|
||||
|
||||
def revert_libertinus_rm_fonts(document):
|
||||
"""Revert Libertinus serif font definition to LaTeX"""
|
||||
|
||||
if not get_bool_value(document.header, "\\use_non_tex_fonts"):
|
||||
fontmap = dict()
|
||||
fm = createFontMapping(['libertinus'])
|
||||
if revert_fonts(document, fm, fontmap):
|
||||
add_preamble_fonts(document, fontmap)
|
||||
|
||||
def revert_libertinus_sftt_fonts(document):
|
||||
" Revert Libertinus sans and tt font definitions to LaTeX "
|
||||
|
||||
if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1:
|
||||
preamble = ""
|
||||
# first sf font
|
||||
i = find_token(document.header, "\\font_sans \"LibertinusSans-LF\"", 0)
|
||||
if i != -1:
|
||||
j = find_token(document.header, "\\font_sans_osf true", 0)
|
||||
if j != -1:
|
||||
add_to_preamble(document, ["\\renewcommand{\\sfdefault}{LibertinusSans-OsF}"])
|
||||
document.header[j] = "\\font_sans_osf false"
|
||||
else:
|
||||
add_to_preamble(document, ["\\renewcommand{\\sfdefault}{LibertinusSans-LF}"])
|
||||
document.header[i] = document.header[i].replace("LibertinusSans-LF", "default")
|
||||
sf_scale = 100.0
|
||||
sfval = find_token(document.header, "\\font_sf_scale", 0)
|
||||
if sfval == -1:
|
||||
document.warning("Malformed LyX document: Missing \\font_sf_scale.")
|
||||
else:
|
||||
sfscale = document.header[sfval].split()
|
||||
val = sfscale[1]
|
||||
sfscale[1] = "100"
|
||||
document.header[sfval] = " ".join(sfscale)
|
||||
try:
|
||||
# float() can throw
|
||||
sf_scale = float(val)
|
||||
except:
|
||||
document.warning("Invalid font_sf_scale value: " + val)
|
||||
if sf_scale != "100.0":
|
||||
add_to_preamble(document, ["\\renewcommand*{\\LibertinusSans@scale}{" + str(sf_scale / 100.0) + "}"])
|
||||
# now tt font
|
||||
i = find_token(document.header, "\\font_typewriter \"LibertinusMono-TLF\"", 0)
|
||||
if i != -1:
|
||||
add_to_preamble(document, ["\\renewcommand{\\ttdefault}{LibertinusMono-TLF}"])
|
||||
document.header[i] = document.header[i].replace("LibertinusMono-TLF", "default")
|
||||
tt_scale = 100.0
|
||||
ttval = find_token(document.header, "\\font_tt_scale", 0)
|
||||
if ttval == -1:
|
||||
document.warning("Malformed LyX document: Missing \\font_tt_scale.")
|
||||
else:
|
||||
ttscale = document.header[ttval].split()
|
||||
val = ttscale[1]
|
||||
ttscale[1] = "100"
|
||||
document.header[ttval] = " ".join(ttscale)
|
||||
try:
|
||||
# float() can throw
|
||||
tt_scale = float(val)
|
||||
except:
|
||||
document.warning("Invalid font_tt_scale value: " + val)
|
||||
if tt_scale != "100.0":
|
||||
add_to_preamble(document, ["\\renewcommand*{\\LibertinusMono@scale}{" + str(tt_scale / 100.0) + "}"])
|
||||
|
||||
|
||||
##
|
||||
# Conversion hub
|
||||
@ -3907,10 +3978,12 @@ convert = [
|
||||
[593, [convert_counter_maintenance]],
|
||||
[594, []],
|
||||
[595, []],
|
||||
[596, [convert_parskip]]
|
||||
[596, [convert_parskip]],
|
||||
[597, [convert_libertinus_rm_fonts]]
|
||||
]
|
||||
|
||||
revert = [[595, [revert_parskip,revert_line_vspaces]],
|
||||
revert = [[595, [revert_libertinus_rm_fonts,revert_libertinus_sftt_fonts]],
|
||||
[595, [revert_parskip,revert_line_vspaces]],
|
||||
[594, [revert_ams_spaces]],
|
||||
[593, [revert_counter_inset]],
|
||||
[592, [revert_counter_maintenance]],
|
||||
|
@ -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 596 // spitz: parskip
|
||||
#define LYX_FORMAT_TEX2LYX 596
|
||||
#define LYX_FORMAT_LYX 597 // spitz: libertinus fonts
|
||||
#define LYX_FORMAT_TEX2LYX 597
|
||||
|
||||
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
|
||||
#ifndef _MSC_VER
|
||||
|
Loading…
Reference in New Issue
Block a user