10.07.2015 Views

The microtype package

The microtype package

The microtype package

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

IMPLEMENTATION: Font setup 60\MT@set@all@pr\MT@reset@pr@codes@\MT@reset@pr@codes\MT@the@pr@code\MT@the@pr@code@tr\MT@set@codes\MT@split@codes\MT@pr@split@val1124 Font `\MT@@font’ does not specify its\MessageBreak1125 \@backslashchar fontdimen 6 (width of an `em’)! <strong>The</strong>refore,\MessageBreak1126 \@nameuse{MT@abbr@\MT@feat} will not work with this font}%1127 \expandafter\@gobble1128 \else1129 \edef\MT@dimen@six{\number\fontdimen6\MT@font}%1130 \expandafter\@firstofone1131 \fi1132 }Set all protrusion codes of the font.1133 \def\MT@set@all@pr#1#2{%1134 \MT@dinfo@nl{3}{-- lp/rp: setting all to #1/#2}%1135 \let\MT@temp\@empty1136 \MT@ifempty{#1}\relax{\g@addto@macro\MT@temp{\lpcode\MT@font\@tempcnta=#1}}%1137 \MT@ifempty{#2}\relax{\g@addto@macro\MT@temp{\rpcode\MT@font\@tempcnta=#2}}%1138 \MT@do@font\MT@temp1139 }All protrusion codes are zero for new fonts. However, if we have to reload the fontdue to different contexts, we have to reset them. This command will be changed by\<strong>microtype</strong>context if necessary.1140 \def\MT@reset@pr@codes@{\MT@set@all@pr\z@\z@}1141 \let\MT@reset@pr@codes\relaxIf the font is letterspaced, we have to add half the letterspacing amount to themargin kerns. This will be activated in \MT@set@tr@codes.1142 \def\MT@the@pr@code{\@tempcntb}1143 1144 \MT@requires@pdftex61145 \MT@requires@luatex31146 {\def\MT@the@pr@code@tr{%1147 \numexpr\@tempcntb+\MT@letterspace@/2\relax1148 }1149 }\relax1150 Split up the values and set the codes.1151 \def\MT@set@codes#1,{%1152 \ifx\relax#1\@empty\else1153 \MT@split@codes #1==\relax1154 \expandafter\MT@set@codes1155 \fi1156 }<strong>The</strong> keyval <strong>package</strong> would remove spaces here, which we needn’t do since\SetProtrusion ignores spaces in the protrusion list anyway. \MT@get@char@unitmay mean different things.1157 \def\MT@split@codes#1=#2=#3\relax{%1158 \def\@tempa{#1}%1159 \ifx\@tempa\@empty \else1160 \MT@get@slot1161 \ifnum\MT@char > \m@ne1162 \ifx\MT@char\@empty \else1163 \MT@get@char@unit1164 \csname MT@\MT@feat @split@val\endcsname#2\relax1165 \fi1166 \fi1167 }1168 \def\MT@pr@split@val#1,#2\relax{%1169 \def\@tempb{#1}%

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!