summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/cfr-lm
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2014-03-04 04:59:40 +0000
committerNorbert Preining <preining@logic.at>2014-03-04 04:59:40 +0000
commitff25537b4955ac9aed9f7865dc290a8108dc10dd (patch)
tree5553ec5f9d9bc347f214c683a5d826c3781e1f55 /Master/texmf-dist/tex/latex/cfr-lm
parent03ae441c431ec77f74ebc15b2fc07fa5b349c1b0 (diff)
cfr-lm (Mar4) - plus adaptions for ctan2tds
git-svn-id: svn://tug.org/texlive/trunk@33090 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/cfr-lm')
-rw-r--r--Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty59
1 files changed, 49 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty b/Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty
index 9aaca29ae44..e8659960073 100644
--- a/Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty
+++ b/Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty
@@ -1,4 +1,4 @@
-%% Copyright 2010 Clea F. Rees
+%% Copyright 2014 Clea F. Rees
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -9,19 +9,27 @@
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
-%
+%
% The Current Maintainer of this work is Clea F. Rees.
%
% This work consists of all files listed in manifest.txt.
%
-% Parts of this file are based on lmodern.sty which is included with
+% Parts of this file are based on lmodern.sty which is included with
% the Latin Modern fonts released by GUST and available from
% http://www.gust.org.pl/projects/e-foundry/latin-modern.
-%
+%
% Improvements to this file in v1.2 (unpublished) and v1.3 owe almost
% everything to Enrico Gregorio.
+%
+% v1.4 adds family-specific support for microtype. This draws also on the
+% documentation for the microtype package and MinionPro.sty. MinionPro.sty
+% is available as part of the minionpro package and can be obtain from
+% http://mirror.ctan.org/fonts/minionpro. MinionPro.sty is in the public
+% domain. The documentation for microtype is available in English and German
+% from http://ctan.org/pkg/microtype. It is part of the microtype package which
+% is itself licensed under the LPPL.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{cfr-lm}[2010/05/20 v1.3 cfr-lm for use with LatinModern v2.004]
+\ProvidesPackage{cfr-lm}[2014/03/01 v1.4 cfr-lm for use with LatinModern v2.004]
\RequirePackage{xkeyval}
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
@@ -55,7 +63,7 @@
\def\cfrlm@rmpt{2}%
\fi}
-%:boolkeys for sans osf/lf
+%:boolkeys for sans osf/lf
\define@boolkey[cfrlm]{sf}{oldstyle}[true]{%
\ifcfrlm@sf@oldstyle
\def\cfrlm@sfol{j}%
@@ -110,7 +118,7 @@
\else
\def\cfrlm@ttpt{2}%
\fi}
-
+
%:boolkeys for typewriter mono/variable width
\define@boolkey[cfrlm]{tt}{monowidth}[true]{%
\ifcfrlm@tt@monowidth
@@ -129,10 +137,10 @@
\define@key{cfr-lm.sty}{rm}{%
\setkeys[cfrlm]{rm}{#1}}
-%:options for sans
+%:options for sans
\define@key{cfr-lm.sty}{sf}{%
\setkeys[cfrlm]{sf}{#1}}
-
+
%:options for typewriter
\define@key{cfr-lm.sty}{tt}{%
\setkeys[cfrlm]{tt}{#1}}
@@ -143,6 +151,7 @@
%:defaults to ensure everything is defined to something
\ExecuteOptionsX{rm={oldstyle,proportional},sf={oldstyle,proportional},tt={oldstyle,proportional,variable},qt=false}
+%\ExecuteOptionsX{rm={lining,tabular},sf={oldstyle,proportional},tt={oldstyle,proportional,variable},qt=false}
%:options override defaults
\ProcessOptionsX
@@ -191,7 +200,7 @@
\SetMathAlphabet{\mathit}{bold} {OT1}{lmr}{bx}{it}
\SetMathAlphabet{\mathtt}{bold} {OT1}{lmtt}{m}{n}
-\def\mathsterling{\mathit{\mathchar"70BF}}
+\def\mathsterling{\mathit{\mathchar"70BF}}
%:new in v1.1
\DeclareRobustCommand{\dotdigitenc}{%
@@ -200,4 +209,34 @@
\DeclareTextFontCommand{\textdde}{\dotdigitenc}
\newcommand*{\zeroslash}{\textdde{\char 250}}
+%:Partly from microtype docs; partly from MinionPro package
+%
+% We need to set up aliases for the font families created by cfr-lm so that
+% microtype recognises them as similar to Computer Modern Roman.
+%
+% T1 families in cfr-lm: clm clm2 clm2d clm2dj clm2j clm2jqs clm2js clm2jt
+% clm2jv clm2qs clm2s clm2t clm2v clmd clmdj clmj clmjqs clmjs clmjt clmjv
+% clmqs clms clmt clmv
+%
+% See variants set in nfssext-cfr
+%
+% Ref: http://tex.stackexchange.com/a/75440/39222
+\newcommand{\cfr@ffs}{% alias to cmr
+ clm,clm2,clm2j,clmj,% roman
+ clms,clm2js,clm2s,clmjs,% sans
+ clmqs,clm2jqs,clm2qs,clmjqs%
+% clm2d,clm2dj,clmd,clmdj,% leave unaliased?
+% clm2jv,clmjv,clm2v,clmv,% leave unaliased?
+% clmt,clm2t,clmjt,clm2jt% leave unaliased?
+ }
+\gdef\cfrlm@MicroType@Aliases{%
+ \@for \xx:=\cfr@ffs \do {%
+ \DeclareMicrotypeAlias{\xx}{cmr}}%
+ }
+\def\cfrlm@MT@Hook{\cfrlm@MicroType@Aliases}
+\@ifpackageloaded{microtype}{%
+ \cfrlm@MT@Hook}{%
+ \@ifundefined{Microtype@Hook}{%
+ \let\Microtype@Hook\cfrlm@MT@Hook}{% MinionPro has \global before this
+ \g@addto@macro\Microtype@Hook{\cfrlm@MT@Hook}}}
\endinput