% Turkish Text Italic with full diacriticals, based on
% The Computer Modern Text Italic family (by D. E. Knuth, 1979--1985)
% Adapted for Turkish by P. A. MacKay, January, 1987.
% If command line includes |pxlfont=128;|, |use_pxl| becomes true
boolean use_pxl;
if unknown pxlfont: use_pxl:=false; else: use_pxl:=true; fi
% Use the roman questionmark for this class of fonts
% This will come out of romanp.mf if a 256-character font is being
% written, otherwise it will be supplied by conditional code in
% tkpnct.mf. This code is activated by a known value in |romquery|.
if use_pxl: romquery=oct"077";
else: spanish_shriek=oct"016"; spanish_query=oct"017"; fi
if not monospace: izafet_dot= if use_pxl: oct"0175" else: oct"0375" fi ; fi
if ligs>0: font_coding_scheme:="TeX Turkish"
else: font_coding_scheme:="TeX typewriter Turkish" fi;
mode_setup; font_setup;
input romanu; % upper case (majuscules)
input tkital; % itall.mf lower case (minuscules) with undotted i
input itald; % numerals
if ligs>0: input comlig; fi % ligatures common with roman text
input tkpnct; % punctuation common to roman and italic (reduced set)
input aynhmz; % ayn and hamza, izafet dot |iff not monospace|
if use_pxl:
else:
input greeku; % upper case Greek letters
input romanp; % ampersand, question marks, currency sign
input romspl; % lowercase specials (dotless \i, ligature \ae, etc.)
input romspu; % uppercase specials (\AE, \OE, \O)
input accent; % accents common to roman and italic text
if ligs<=1: input romsub; fi % substitutes for ligatures
ligtable "!": "`" =: spanish_shriek;
ligtable "?": "`" =: spanish_query;
extra_endchar:=extra_endchar&"charcode:=charcode+code_offset";
code_offset:=128; % move accented chars into 128..255 region
fi
input tkdotu; % upper case with dotted diacriticals
input tkdtil; % lower case italic with dotted diacriticals
input tkaccu; % upper case with assorted acents
input tkacil; % lower case italic assorted accents
if ligs<=0: input tksub; fi % substitutes for ligatures
% A thoroughly mixed list of names for the accented characters.
% These follow English, Arabic and Turkish conventions rather arbitrarily
% Only the letters that appear more than once in the ligtable are coded here.
if monospace: font_normal_space 9u#; % no stretching or shrinking
font_quad 18u#;
font_extra_space 9u#;
letter_fit#:=letter_fit:=0;
ligtable "A": "="=:HAT_A;
ligtable "D": "="=:DHAL, "!"=:DAD;
ligtable "K": "!"=:QAF; ligtable "k": "!"=:qaf;
ligtable "O": ":"=:DOT_O; % no |hat_o| here
ligtable "T": "!"=:TTA;
ligtable "c": ":"=:chim; ligtable "d": "="=:dhal, "!"=:dad;
ligtable "n": "="=:gnaf; ligtable "o": ":"=:dot_o; % no |hat_o| here
else: font_normal_space 6u#+2letter_fit#;
font_normal_stretch 3u#; font_normal_shrink 2u#;
font_quad 18u#+4letter_fit#;
font_extra_space 2u#;
k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
% The following ligtable entries are based on the entries in
% roman.mf. It has been necessary to extract many parts of the
% original entries in order to keep the ligature structure clear.