Support for the mathdesign fonts (#6072)

This commit is contained in:
Juergen Spitzmueller 2012-08-18 14:45:41 +02:00
parent 6dd333b432
commit b501845b2c
6 changed files with 188 additions and 9 deletions

View File

@ -11,6 +11,10 @@ adjustments are made to tex2lyx and bugs are fixed in lyx2lyx.
----------------------- -----------------------
2012-08-18 Jürgen Spitzmüller <spitz@lyx.org>
* Format incremented to 436
Support for the mathdesign LaTeX fonts.
2012-08-17 Jürgen Spitzmüller <spitz@lyx.org> 2012-08-17 Jürgen Spitzmüller <spitz@lyx.org>
* Format incremented to 435 * Format incremented to 435
Support for the txtt LaTeX font. Support for the txtt LaTeX font.

View File

@ -362,6 +362,10 @@
\TestPackage{libertine} \TestPackage{libertine}
\TestPackage{lmodern} \TestPackage{lmodern}
\TestPackage{luximono} \TestPackage{luximono}
\TestPackage{mathdesign}% For Roman fonts
\TestPackage{mdbch}
\TestPackage{mdput}
\TestPackage{mdugm}
\TestPackage{tipa} \TestPackage{tipa}
\TestPackage{tipx} \TestPackage{tipx}
\TestPackage{txfonts}% For the txtt monospaced font \TestPackage{txfonts}% For the txtt monospaced font
@ -381,7 +385,7 @@
%\TestPackage{txfonts}% But see above! %\TestPackage{txfonts}% But see above!
%\TestPackage{pxfonts} %\TestPackage{pxfonts}
%\TestPackage{mathabx} %\TestPackage{mathabx}
%\TestPackage{mathdesign} %\TestPackage{mathdesign}% But see above!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

View File

@ -1,5 +1,5 @@
#LyX 2.1 created this file. For more info see http://www.lyx.org/ #LyX 2.1 created this file. For more info see http://www.lyx.org/
\lyxformat 435 \lyxformat 436
\begin_document \begin_document
\begin_header \begin_header
\textclass article \textclass article
@ -617,6 +617,110 @@ libertine(-legacy)
serif families of fonts. serif families of fonts.
\end_layout \end_layout
\begin_layout Subsection
Mathdesign
\end_layout
\begin_layout Description
Found:
\begin_inset Info
type "package"
arg "mathdesign"
\end_inset
\end_layout
\begin_layout Description
CTAN:
\family typewriter
fonts/mathdesign/
\end_layout
\begin_layout Description
Notes: The
\family sans
mathdesign
\family default
package provides access to three popular roman fonts and extends them with
matching math fonts.
If you select one of the following roman fonts in LyX via
\family sans
\size normal
Layout\SpecialChar \menuseparator
Document\SpecialChar \menuseparator
Fonts
\family default
\size default
, the
\family sans
mathdesign
\family default
package and thus the respective math fonts is automatically loaded:
\end_layout
\begin_layout Itemize
\family sans
Adobe Garamond (Mathdesign)
\family default
.
\series bold
Found:
\series default
\begin_inset Info
type "package"
arg "mdugm"
\end_inset
\end_layout
\begin_layout Itemize
\family sans
Bitstream Charter (Mathdesign)
\family default
.
\series bold
Found:
\series default
\begin_inset Info
type "package"
arg "mdbch"
\end_inset
\end_layout
\begin_layout Itemize
\family sans
Utopia (Mathdesign)
\family default
.
\series bold
Found:
\series default
\begin_inset Info
type "package"
arg "mdput"
\end_inset
\end_layout
\begin_layout Standard
If you only want the text fonts and retain LaTeX's default math font, select
a non-mathdesign variant of the respective font instead.
\end_layout
\begin_layout Subsection \begin_layout Subsection
psnfss psnfss
\end_layout \end_layout
@ -652,7 +756,8 @@ psnfss
fonts in fonts in
\family sans \family sans
\size normal \size normal
Layout->Document Layout\SpecialChar \menuseparator
Document
\family default \family default
\size default \size default
. .

View File

@ -93,7 +93,7 @@ Font chancery
EndFont EndFont
Font charter Font charter
GuiName "Bitstream Charter" GuiName "Bitstream Charter (PSNFSS)"
Family rm Family rm
Package charter Package charter
EndFont EndFont
@ -118,6 +118,39 @@ Font lmodern
Package lmodern Package lmodern
EndFont EndFont
Font mdbch
GuiName "Bitstream Charter (Mathdesign)"
Family rm
OsfOption expert
ScOption expert
OsfScOption expert
Package mathdesign
PackageOption charter
Requires mdbch
EndFont
Font mdput
GuiName "Utopia (Mathdesign)"
Family rm
OsfOption expert
ScOption expert
OsfScOption expert
Package mathdesign
PackageOption utopia
Requires mdput
EndFont
Font mdugm
GuiName "Adobe Garamond (Mathdesign)"
Family rm
OsfOption expert
ScOption expert
OsfScOption expert
Package mathdesign
PackageOption garamond
Requires mdugm
EndFont
Font newcent Font newcent
GuiName "New Century Schoolbook" GuiName "New Century Schoolbook"
Family rm Family rm
@ -146,7 +179,7 @@ EndFont
# fourier supersedes utopia.sty, but does # fourier supersedes utopia.sty, but does
# not work with OT1 encoding. # not work with OT1 encoding.
Font utopia Font utopia
GuiName "Utopia" GuiName "Utopia (Fourier)"
Family rm Family rm
OsfOption oldstyle OsfOption oldstyle
ScOption expert ScOption expert

View File

@ -838,10 +838,10 @@ def revert_libertine(document):
preamble = "\\usepackage" preamble = "\\usepackage"
if osf: if osf:
preamble += "[osf]" preamble += "[osf]"
document.header[j] = "\\font_osf false"
preamble += "{libertine}" preamble += "{libertine}"
add_to_preamble(document, [preamble]) add_to_preamble(document, [preamble])
document.header[i] = "\\font_roman default" document.header[i] = "\\font_roman default"
document.header[j] = "\\font_osf false"
def revert_txtt(document): def revert_txtt(document):
@ -855,6 +855,37 @@ def revert_txtt(document):
document.header[i] = "\\font_typewriter default" document.header[i] = "\\font_typewriter default"
def revert_mathdesign(document):
" Revert native mathdesign font definition to LaTeX "
if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1:
mathdesign_dict = {
"mdbch": "charter",
"mdput": "utopia",
"mdugm": "garamond"
}
i = find_token(document.header, "\\font_roman", 0)
if i == -1:
return
val = get_value(document.header, "\\font_roman", i)
if val in mathdesign_dict.keys():
preamble = "\\usepackage[%s" % mathdesign_dict[val]
expert = False
j = find_token(document.header, "\\font_osf true", 0)
if j != -1:
expert = True
document.header[j] = "\\font_osf false"
l = find_token(document.header, "\\font_sc true", 0)
if l != -1:
expert = True
document.header[l] = "\\font_sc false"
if expert:
preamble += ",expert"
preamble += "]{mathdesign}"
add_to_preamble(document, [preamble])
document.header[i] = "\\font_roman default"
## ##
# Conversion hub # Conversion hub
# #
@ -882,10 +913,12 @@ convert = [
[432, []], [432, []],
[433, [convert_armenian]], [433, [convert_armenian]],
[434, []], [434, []],
[435, []] [435, []],
[436, []]
] ]
revert = [ revert = [
[434, [revert_mathdesign]],
[434, [revert_txtt]], [434, [revert_txtt]],
[433, [revert_libertine]], [433, [revert_libertine]],
[432, [revert_armenian]], [432, [revert_armenian]],

View File

@ -30,8 +30,8 @@ extern char const * const lyx_version_info;
// Do not remove the comment below, so we get merge conflict in // Do not remove the comment below, so we get merge conflict in
// independent branches. Instead add your own. // independent branches. Instead add your own.
#define LYX_FORMAT_LYX 435 // spitz: support for the txtt font #define LYX_FORMAT_LYX 436 // spitz: support for the mathdesign fonts
#define LYX_FORMAT_TEX2LYX 435 // spitz: support for the txtt font #define LYX_FORMAT_TEX2LYX 436 // spitz: support for the mathdesign fonts
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX #if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
#ifndef _MSC_VER #ifndef _MSC_VER