From c091d54abf1aa848d425ee061f66004bfaab69c5 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Tue, 17 Sep 2013 16:12:25 +0200 Subject: [PATCH] Poster: nejaka uvodni struktura --- pan13-poster/a0size.sty | 252 ++++++ pan13-poster/fi-logo.mf | 1546 ++++++++++++++++++++++++++++++++ pan13-poster/fi-logo600.mf | 2 + pan13-poster/list | 6 + pan13-poster/poster.tex | 166 ++++ pan13-poster/znak_MU_modry.pdf | Bin 0 -> 15557 bytes 6 files changed, 1972 insertions(+) create mode 100644 pan13-poster/a0size.sty create mode 100644 pan13-poster/fi-logo.mf create mode 100644 pan13-poster/fi-logo600.mf create mode 100644 pan13-poster/list create mode 100644 pan13-poster/poster.tex create mode 100644 pan13-poster/znak_MU_modry.pdf diff --git a/pan13-poster/a0size.sty b/pan13-poster/a0size.sty new file mode 100644 index 0000000..b3788c0 --- /dev/null +++ b/pan13-poster/a0size.sty @@ -0,0 +1,252 @@ +%% +%% This is file `a0size.sty' (v1.22b) included in the a0poster package +%% +%% Copyright (C) 1997-2004 Gerlinde Kettl and Matthias Weiser +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.2 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%%    http://www.latex-project.org/lppl.txt +%% and version 1.2 or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +%% +%% Problems, bugs and comments to +%% tex@kettl.de +%% + +\ProvidesFile{a0size.sty}[2004/01/31 v1.22b a0poster class (GK, MW)] + +\DeclareFontShape{OT1}{cmr}{m}{n} + { <5> <6> <7> <8> <9> <10> <12> gen * cmr + <10.95> cmr10 + <14.4> cmr12 + <17.28><20.74><24.88>cmr17 + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmr17}{} + +\DeclareFontShape{OT1}{cmr}{m}{sl} + { + <5><6><7>cmsl8% + <8> <9> gen * cmsl + <10><10.95>cmsl10% + <12><14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmsl12}{} + +\DeclareFontShape{OT1}{cmr}{m}{it} + { + <5><6><7>cmti7% + <8>cmti8% + <9>cmti9% + <10><10.95>cmti10% + <12><14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmti12}{} + +\DeclareFontShape{OT1}{cmr}{m}{sc} + { + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmcsc10}{} + +\DeclareFontShape{OT1}{cmr}{m}{ui} + { + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmu10}{} + +\DeclareFontShape{OT1}{cmr}{b}{n} + { + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmb10}{} + +\DeclareFontShape{OT1}{cmr}{bx}{n} + { + <5> <6> <7> <8> <9> gen * cmbx + <10><10.95> cmbx10 + <12><14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmbx12}{} + +\DeclareFontShape{OT1}{cmr}{bx}{sl} + { + <5> <6> <7> <8> <9> + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmbxsl10}{} + +\DeclareFontShape{OT1}{cmr}{bx}{it} + { + <5> <6> <7> <8> <9> + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmbxti10}{} + +\DeclareFontShape{OT1}{cmss}{m}{n} + { + <5><6><7><8>cmss8 + <9>cmss9 + <10><10.95>cmss10 + <12><14.4>cmss12 + <17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmss17}{} + +\DeclareFontShape{OT1}{cmss}{m}{sl} + { + <5><6><7><8>cmssi8 <9> cmssi9 + <10><10.95>cmssi10 + <12><14.4>cmssi12 + <17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmssi17}{} + +\DeclareFontShape{OT1}{cmss}{sbc}{n} + { + <5> <6> <7> <8> <9> cmssdc10 + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmssdc10}{} + +\DeclareFontShape{OT1}{cmss}{bx}{n} + { + <5> <6> <7> <8> <9> cmssbx10 + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmssbx10}{} + +\DeclareFontShape{OT1}{cmtt}{m}{n} + { + <5><6><7><8>cmtt8 <9> cmtt9 + <10><10.95>cmtt10 + <12><14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmtt12}{} + +\DeclareFontShape{OT1}{cmtt}{m}{it} + { + <5> <6> <7> <8> <9> + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmitt10}{} + +\DeclareFontShape{OT1}{cmtt}{m}{sl} + { + <5> <6> <7> <8> <9> + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmsltt10}{} + +\DeclareFontShape{OT1}{cmtt}{m}{sc} + { + <5> <6> <7> <8> <9> + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmtcsc10}{} + +\DeclareFontShape{OML}{cmm}{m}{it} + { <5> <6> <7> <8> <9> gen * cmmi + <10><10.95>cmmi10 + <12><14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmmi12}{} + +\DeclareFontShape{OML}{cmm}{b}{it}{% + <5> <6> <7> <8> <9> gen * cmmib + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmmib10}{} + + +\DeclareFontShape{OMS}{cmsy}{m}{n}{% + <5> <6> <7> <8> <9> <10> gen * cmsy + <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmsy10}{} + +\DeclareFontShape{OMS}{cmsy}{b}{n}{% + <5> <6> <7> <8> <9> gen * cmbsy + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmbsy10}{} + +\DeclareFontShape{OMX}{cmex}{m}{n}{% + <-8>sfixed * cmex7 + <8> cmex8 + <9> cmex9 + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmex10}{} + +\DeclareFontShape{U}{cmr}{m}{n} + { <5> <6> <7> <8> <9> <10> <12> gen * cmr + <10.95> cmr10 + <14.4> cmr12 + <17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmr17}{} + +\DeclareFontShape{U}{cmr}{m}{sl} + { + <5><6><7>cmsl8% + <8> <9> gen * cmsl + <10><10.95>cmsl10% + <12><14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmsl12}{} + +\DeclareFontShape{U}{cmr}{m}{it} + { + <5><6><7>cmti7% + <8>cmti8% + <9>cmti9% + <10><10.95>cmti10% + <12><14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmti12}{} + +\DeclareFontShape{U}{cmr}{m}{sc} + { + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmcsc10}{} + +\DeclareFontShape{U}{cmr}{m}{ui} + { + <5><6><7><8><9><10><10.95><12>% + <14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmu10}{} + +\DeclareFontShape{U}{cmr}{b}{n} + { + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmb10}{} + +\DeclareFontShape{U}{cmr}{bx}{n} + { + <5> <6> <7> <8> <9> gen * cmbx + <10><10.95> cmbx10 + <12><14.4><17.28><20.74><24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmbx12}{} + +\DeclareFontShape{U}{cmr}{bx}{sl} + { + <5> <6> <7> <8> <9> + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmbxsl10}{} + +\DeclareFontShape{U}{cmr}{bx}{it} + { + <5> <6> <7> <8> <9> + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> + <29.86> <35.83> <43.00> <51.6> <61.92> <74.3> <89.16> <107.0> cmbxti10}{} + +%% Copied from exscale.sty +%% Copyright (C) 1992-1995 Frank Mittelbach and Rainer Sch\"opf, +%% all rights reserved. + +\DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n} +\newdimen\big@size +\addto@hook\every@math@size{\setbox\z@\vbox{\hbox{$($}\kern\z@}% + \global\big@size 1.2\ht\z@} +\def\bBigg@#1#2{% + {\hbox{$\left#2\vcenter to#1\big@size{}\right.\n@space$}}} +\def\big{\bBigg@\@ne} +\def\Big{\bBigg@{1.5}} +\def\bigg{\bBigg@\tw@} +\def\Bigg{\bBigg@{2.5}} + +%% End of copy + +\DeclareMathSizes{24.88}{24.88}{20.74}{14.4} +\DeclareMathSizes{29.86}{29.86}{20.74}{14.4} +\DeclareMathSizes{35.83}{35.83}{24.88}{17.28} +\DeclareMathSizes{43.00}{43.00}{35.83}{24.88} +\DeclareMathSizes{51.6}{51.6}{35.83}{24.88} +\DeclareMathSizes{61.92}{61.92}{43}{29.86} +\DeclareMathSizes{74.3}{74.3}{51.6}{35.83} +\DeclareMathSizes{89.16}{89.16}{61.92}{43} +\DeclareMathSizes{107}{107}{74.3}{51.6} + +%% End of a0size.sty diff --git a/pan13-poster/fi-logo.mf b/pan13-poster/fi-logo.mf new file mode 100644 index 0000000..66e17f7 --- /dev/null +++ b/pan13-poster/fi-logo.mf @@ -0,0 +1,1546 @@ +%% version 0.01 (94/01/20 -- corrected scaling) +%% version 0.02 (94/01/25 -- 2nd and 3rd order corrections added) +%% version 0.03 (94/01/31 -- dpi values scaled down to 1/100 +%% and logo widening limited) +%% version 0.04 (94/02/10 -- color filling overshoot corrected) +mode_setup; font_size 10pt#; +font_identifier:="Faculty of Informatics logo"; +font_coding_scheme:="UNSPECIFIED"; + +if unknown dpi: scantokens ("dpi:=0" & + substring (7, length jobname-2) of jobname & "." & + substring(length jobname-2,length jobname) of jobname); +fi +if length jobname < 9: dpi:=10dpi; fi +if dpi=0: + message "Missing dpi information. Assuming 300."; + dpi:=3; +fi + +scaling_factor:=1.13; + +mag_dpi:=mag*(3/dpi); + +if mag_dpi<1: + taller_letters := 1+(1-mag_dpi)**2; + wider_logo:=1+(1-max(mag_dpi,1/3))**3; +else: + taller_letters:=1; + wider_logo:=1; +fi + +u#:=21/36pt#; % unit width from cmsc +%%u#:=scaling_factor*64/11pt#; uu#:=.1u#; % basic units +uu#:=scaling_factor*(36/21)*(64/11)*.1u#; % basic units +barw#:=12uu#; % bar width +aarw#:=13uu#; % bar width +carw#:=11uu#; +darw#:=10uu#; +triw#:=110uu#; % triangle width +gapw#:=5uu#; % gap width +hapw#:=3uu#; % gap width +serif#:=4uu#; % serif width +pen_size#=1/2uu#; + +r:= 1/2 (sqrt 3) ; +barww#:= r * barw#; +triww#:= r * triw#; + +pair f[]dvips; +path b[]; +define_pixels(barw,aarw,carw,darw,triw,gapw,hapw,serif,barww,triww); +define_blacker_pixels(pen_size); +%%beginchar(65,triw#+aarw#,r*triw#+r*carw#,0); +beginchar(65,0,0,0); +"Le silence eternel de ces espace infinis m'effraie. --B.Pascal,1670"; + +%%x1 = 1/2 triw*wider_logo + aarw ; y1 = 0; +x1 = 2/3aarw*wider_logo ; y1 = -2/3(r*triw)-1/3(r*carw*wider_logo); +x2 = x1 +(1/2 triw); +z2 - z1 = whatever * dir 60; +z4 - z3 = (z2 - z1); +z6 - z5 = (z2 - z1); +z8 - z7 = (z2 - z1); +z3 - z7 = whatever * dir 0; +z3 - z1 = darw*wider_logo * dir 120; +z7 - z5 = darw*wider_logo * dir 120; +z7 - z3 = aarw*wider_logo * dir 180; +z1 - z5 = whatever * dir 0; + +showdependencies; + +z21 = z4 - (carw*wider_logo * dir 60); + +z10 - z1 = whatever * dir 120; +z16 = whatever [z21, z21 + dir 0] = whatever [z5, z5 + dir 120]; + +z16 - z17 = barw*wider_logo * dir 120; + +z10 = whatever [z17, (z17+dir 0)]; + +z15 = whatever [z5 , z16]; +k=darw*wider_logo+hapw; +z15 = z5 + k * dir 120; +z9 = z1 + k * dir 120; +whatever [z9 , z15] = whatever [z1 , z10]; + +z11 = z9 + carw*wider_logo * dir 60; +z12 = whatever [z10, z10 + dir 0] = whatever [z11, z11 + dir 120]; + +z18 = whatever [z17, z17 + dir 0] = whatever [z1 , z2]; +z19 = whatever [z7 , z8] = whatever [z17 , z18]; +z20 = whatever [z12 , z19]; +x19 - x20 = serif; +%z21 = whatever [z16, z16 + dir 0] = whatever [z3 , z4]; +z22 = whatever [z16 , z21] = whatever [z7 , z8]; +z23 = whatever [z16 , z22] = whatever [z20 , z20 + dir 100]; +z24 = whatever [z4 , z8] = whatever [z23 , z23 + dir 60]; + +z25 = whatever [z15 , z9] = whatever [z7 , z22]; +z26 = whatever [z11 , z12] =whatever [z7 , z22]; + +z27 = whatever [z19 , z10]; x27 - x20 = - gapw; +z28 = whatever [z22 , z23]; x28 - x23 = - gapw; +z29 = whatever [z24 , z8]; x29 - x24 = - gapw; +z30 = whatever [z23 , z24] = whatever [z29 , z29 + dir 280]; +z31 = whatever [z20 , z23] = whatever [z27 , z27 + dir 60]; + +z32 = whatever [z4 , z29]; x32 - x4 = - length (z21 - z16); + +z33 = 2/3 [z9 , z10]; +z34 = whatever [z33, z33 + dir 0] = whatever [z7 , z22]; +z35 = whatever [z9 , z10]; x33 - x35 = x3 - x1; +z36 = whatever [z35, z35 + dir 0] = whatever [z5 , z6]; +z37 = whatever [z12 , z11]; x37 - x11 = x33 - x9; +z38 = whatever [z37 , z37 + dir 0] = whatever [z7 , z22]; +z39 = whatever [z35 , z36]; x39 - x35 = gapw; +z40 = whatever [z33 , z34]; x40 - x33 = gapw; +z41 = whatever [z37 , z38]; x41 - x37 = gapw; +z42 = whatever [z33 , z34]; x34 - x42 = 2gapw; +z43 = whatever [z42 , z42 + dir 280] = whatever [z35 , z39]; %%% +%z44 = whatever [z35 , z36] = whatever [z7 , z22]; +z45 = whatever [z37 , z38]; x38 - x45 = 2gapw; +%z46 = whatever [z45 , z45 + dir 280] = whatever [z7 , z22]; +z46 = whatever [z45 , z45 + dir 280] = whatever [z43 , z43+ z45-z42]; + +z47 = whatever [z11 , z12] = whatever [z40 , z41]; +z48 = whatever [z11 , z12] = whatever [z35 , z36]; + +z49 = whatever [z1 , z2] = whatever [z4 , z4 + dir 290]; + +pickup pencircle scaled (pen_size*wider_logo); + +draw z1--z49--z4--z3--z1; +draw z1--z3--z7--z5--z1; +draw z23--z24--z4; +draw z10--z9--z15--z16; +draw z9--z11--z48; +draw z47--z12--z10--z27--z28; +draw z7--z25--z9--z11--z26--z22--z23--z20--z19; +draw z27--z31--z23--z30--z29--z28--z27; +draw z16--z32--z29--z28--z16; + +draw z39--z43--z42--z40--z39; +draw z40--z41--z45--z42; +draw z45--z46--z43; + +fill z15--z9--z10--z27--z28--z16--cycle; +fill z39--z43--z42--z40--cycle; +fill z7--z3--z4--z24--z23--z22--z26--z11--z9--z25--cycle; +%%%erase draw rt z25 -- lft z9; + +b[1]:=z16--z28--z29--z32--cycle; +b[2]:=z9--z10--z12--z47--z40--z39--z48--z11--cycle; +b[3]:=z27--z28--z29--z30--z23--z31--cycle; +b[4]:=z20--z23--z22--z19--cycle; +b[5]:=z1--z3--z4--z49--cycle; +b[6]:=z1--z5--z7--z3--cycle; +b[7]:=z40--z42--z45--z41--cycle; +b[8]:=z42--z45--z46--z43--cycle; + +labels(range 1 thru 49); + +f[1]dvips:=1/2[z9,z16]; +f[2]dvips:=1/2[z1,z7]; +endchar; + +beginchar(66,0,0,0); +"Faculty of Informatics logo colors"; +fill b[1]; +fill b[2]; +fill b[3]; +fill b[4]; +fill b[5]; +fill b[6]; +fill b[7]; +fill b[8]; +pickup pencircle scaled (pen_size*wider_logo); +undraw b[1]; +undraw b[2]; +undraw b[3]; +undraw b[4]; +undraw b[5]; +undraw b[6]; +undraw b[7]; +undraw b[8]; +endchar; + +% Computer Modern Roman Caps and Small Caps 10 point +if unknown cmbase: input cmbase fi + +%%%font_identifier:="CMCSC"; + font_size 10pt#; + +% first come parameters used to set the uppercase letters +% (including some for lowercase that aren't actually used) +u#:=21/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=5/36pt#; % extra space added to all sidebars + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=9/36pt#; % lowercase hairline breadth +stem#:=25/36pt#; % lowercase stem breadth +curve#:=30/36pt#; % lowercase curve breadth +ess#:=27/36pt#; % breadth in middle of lowercase s +flare#:=33/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_stem#:=32/36pt#; % uppercase stem breadth +cap_curve#:=37/36pt#; % uppercase curve breadth +cap_ess#:=35/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.4pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=20/36pt#; % vertical distance from serif base to tangent +jut#:=28/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=10pt#; % maximum breadth above or below notches +bar#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/36pt#; % uppercase bar thickness +cap_band#:=11/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=4/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=8/36pt#; % amount of overshoot for curves +apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=1; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? + +% now come replacements used to set the lowercase caps + +lower.u#:=16/36pt#; % unit width +lower.width_adj#:=0pt#; % width adjustment for certain characters +lower.cap_serif_fit#:=4/36pt#; % extra sidebar near uppercase serifs +lower.letter_fit#:=2.4/36pt#; % extra space added to all sidebars + +lower.body_height#:=200/36pt#; % height of tallest characters +lower.cap_height#:=185/36pt#; % height of caps +lower.x_height#:=116/36pt#; % height of lowercase without ascenders +lower.bar_height#:=65/36pt#; % height of crossbar in lowercase e +lower.comma_depth#:=52/36pt#; % depth of comma below baseline + +lower.flare#:=25/36pt#; % diameter of bulbs or breadth of terminals +lower.cap_hair#:=9.1/36pt#; % uppercase hairline breadth +lower.stem#:=21/36pt#; % lowercase stem breadth +lower.cap_stem#:=26/36pt#; % uppercase stem breadth +lower.cap_curve#:=31/36pt#; % uppercase curve breadth +lower.cap_ess#:=28/36pt#; % breadth in middle of uppercase s + +lower.cap_jut#:=26/36pt#; % protrusion of uppercase serifs +lower.beak_jut#:=7/36pt#; % horizontal protrusion of beak serifs +lower.beak#:=52/36pt#; % vertical protrusion of beak serifs +lower.slab#:=9.1/36pt#; % serif and arm thickness +lower.cap_bar#:=9.1/36pt#; % uppercase bar thickness +lower.cap_band#:=9.1/36pt#; % uppercase thickness above/below lobes +lower.cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches + +lower.o#:=5/36pt#; % amount of overshoot for curves +lower.apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions + +lower.fudge:=1; % factor applied to weights of heavy characters + +% Caps and Small Caps in Computer Modern Roman + +font_coding_scheme:=if ligs=0: "TeX typewriter text" + else: "TeX text without f-ligatures" fi; + +%mode_setup; +font_setup; + +radius#:=scaling_factor*80u#; +define_pixels(radius); + +%beginchar("[",scaling_factor*radius#+cap_height#, +% scaling_factor*radius#+cap_height#, +% scaling_factor*radius#+cap_height#); +%endchar; +% +%beginchar("]",scaling_factor*radius#+cap_height#, +% scaling_factor*radius#+cap_height#, +% scaling_factor*radius#+cap_height#); +%endchar; + +let CMCHAR = cmchar; +def cmchar = CMCHAR; enddef; + +let ENDCHAR = endchar; +def endchar = + scantokens extra_endchar; + if proofing>0: makebox(proofrule); fi + chardx:=w; + charwd:=0; charht:=0; chardp:=0; + shipit; + if displaying>0: makebox(screenrule); showit; fi + endgroup enddef; +%%%input romanu; % upper case (majuscules) + +% Computer Modern Roman upper case: +% These letters were originally coded by D. E. Knuth in November, 1979, +% inspired by the Monotype faces used in {\sl The Art of Computer Programming}. +% Sans serif designs by Richard Southall were added in April, 1982. +% The programs were revised for the new \MF\ conventions in 1985. + +% Character codes \0101 through \0132 are generated. + +def t_=transformed currenttransform enddef; + +width.A:=13u; +def A_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter A"; +beginchar(n,13u#,cap_height#,0); +adjust_fit(cap_serif_fit#,cap_serif_fit#); +numeric left_stem,right_stem,outer_jut,alpha; +right_stem=cap_stem-stem_corr; +left_stem=min(cap_hair if hefty: -3stem_corr fi,right_stem); +outer_jut=.8cap_jut; x1l=w-x4r=l+letter_fit+outer_jut+.5u; y1=y4=0; +x2-x1=x4-x3; x3r=x2r+apex_corr; y2=y3=h+apex_o+apex_oo; +alpha=diag_ratio(2,left_stem,y2-y1,x4r-x1l-apex_corr); +penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0); +penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0); +z0=whatever[z1r,z2r]=whatever[z3l,z4l]; +if y0lower_notch: {left}(x4'-1,lower_notch){up}... fi + {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal +else: penpos5(whatever,0); penpos6(whatever,90); + z5l=z1l; z6l=z4l; + z7=z6l+(max(eps,cap_stem-3stem_corr-tiny),0) rotated (angle(z5l-z6l)-90); + z5r=z7+whatever*(z5l-z6l); z6r=z7+whatever*(z5l-z6l); + filldraw stroke z5e..z6e; fi % diagonal +if serifs: if hefty: serif(1,2,a,1/3,-cap_jut); % upper left serif + else: serif(5,6,a,1/3,-cap_jut); fi % upper left serif + dish_serif(2,1,b,1/2,cap_jut,c,1/2,cap_jut)(dark); % lower left serif + dish_serif(3,4,e,1/2,cap_jut,f,1/2,cap_jut)(dark); fi % upper right serif +math_fit(0,max(.5ic#-.5u#,0)); penlabels(1,1',2,3,4,4',5,6,7); endchar; +enddef; + +width.O:=14u-width_adj; +def O_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter O"; +beginchar(n,14u#-width_adj#,cap_height#,0); +italcorr .7cap_height#*slant-.5u#; +adjust_fit(0,0); +penpos1(vair',90); penpos3(vround(vair+1.5vair_corr),-90); +penpos2(cap_curve,180); penpos4(cap_curve,0); +if monospace: x2r=hround 1.5u; + interim superness:=sqrt superness; % make |"O"|, not |"0"| +else: x2r=hround u; fi +x4r=w-x2r; x1=x3=.5w; y1r=h+o; y3r=-o; +y2=y4=.5h-vair_corr; y2l:=y4l:=.52h; +penstroke pulled_super_arc.e(1,2)(.5superpull) + & pulled_super_arc.e(2,3)(.5superpull) + & pulled_super_arc.e(3,4)(.5superpull) + & pulled_super_arc.e(4,1)(.5superpull) & cycle; % bowl +math_fit(-.3cap_height#*slant-.5u#,ic#-.5u#); penlabels(1,2,3,4); endchar; +enddef; + +width.P:=12u; +def P_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter P"; +beginchar(n,12u#,cap_height#,0); +italcorr .75cap_height#*slant-.5u#; +adjust_fit(cap_serif_fit#,0); +pickup tiny.nib; penpos1(cap_stem'-tiny,0); penpos2(cap_stem-tiny,0); +pos0(cap_stem',0); pos0'(cap_stem,0); +lft x1l=hround max(2u,3u-.5cap_stem'); top y1=h; bot y2=0; +x1l=x2l=x0l=x0'l; y0=y0'=y7; +penpos3(cap_band,90); penpos4(cap_band,90); +penpos5(cap_curve if hefty:-3stem_corr fi,0); +penpos6(.5[vair,cap_band],-90); penpos7(.5[vair,cap_band],-90); +z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7; +x7=x2; y7l=vround .5h; x4=x6=.5w+.75u; x5r=hround(w-u); +x4l:=x6l:=x4-.25cap_curve; +filldraw stroke z1e--z0e--z0'e--z2e; % stem +fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe +if serifs: nodish_serif(1,0,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif + dish_serif(2,0',c,1/3,cap_jut,d,1/3,cap_jut); fi % lower serif +math_fit(0,ic#-2.5u#); penlabels(0,1,2,3,4,5,6,7); endchar; +enddef; + +width.Q:=14u-width_adj; +def Q_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter Q"; +beginchar(n,14u#-width_adj#,cap_height#,comma_depth#); +italcorr .7cap_height#*slant-.5u#; +adjust_fit(0,0); +numeric light_curve; light_curve=cap_curve-hround stem_corr; +penpos1(vair',90); penpos3(vair',-90); +penpos2(light_curve,180); penpos4(light_curve,0); +if monospace: x2r=hround 1.5u; + interim superness:=sqrt superness; % make |"Q"| like |"O"| +else: x2r=hround u; fi +x4r=w-x2r; x1=x3=.5w; y1r=h+o; y2=y4=.5h-vair_corr; y3r=-o; +penstroke pulled_super_arc.e(1,2)(.5superpull) + & pulled_super_arc.e(2,3)(.5superpull) + & pulled_super_arc.e(3,4)(.5superpull) + & pulled_super_arc.e(4,1)(.5superpull) & cycle; % bowl +pickup tiny.nib; +if hefty: penpos5(1.2(.5[cap_bar,light_curve]),0); penpos6(1.2light_curve,0); + x5=.5w; x6r=hround(w-1.5u); + y5=vround .28h; y6=-d; + fill diag_end(6r,5r,.25,1,5l,6l)--diag_end(5l,6l,.5,1,6r,5r)--cycle; % tail +else: pos3'(vair,270); pos5(vair,180); pos6(vair,90); + pos7(cap_curve,85); penpos8(eps,180); + z3'=z3; x6=x3; top y6r=vround(.2h+.5vair); + lft x5r=hround(.5w-1.25u-.5vair); y5=.5[y3,y6]; + bot y7l=-d; x7l=2/3[x6,x8]; y8=0; rt x8=hround(x4r+.1u); + filldraw stroke z3'e{left}...z5e{up}...z6e{right} + ..z7e{right}...z8e{up}; fi % tail +math_fit(-.3cap_height#*slant-.5u#,ic#); +penlabels(1,2,3,4,5,6,7,8); endchar; +enddef; + +width.R:=if serifs: 12u+.5max(2u,cap_curve) else: 12.5u-.5width_adj fi; +def R_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter R"; +beginchar(n,if serifs: 12u#+.5max(2u#,cap_curve#) + else:12.5u#-.5width_adj# fi,cap_height#,0); +italcorr .75cap_height#*slant- if serifs: 1.75 else: .5 fi\\ u#; +adjust_fit(cap_serif_fit#,0); +pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0); +lft x1l=lft x2l=hround max(2u,3u-.5cap_stem'); top y1=h; bot y2=0; +filldraw stroke z1e--z2e; % stem +penpos3(cap_band,90); penpos4(cap_band,90); +penpos5(cap_curve if hefty:-3stem_corr fi,0); +penpos6(vair,-90); penpos7(vair,-90); +z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7; +x7=x2; y7l=vround(.5h+.5vair); x4=x6; +if serifs: x4=.5w-.5u; x5r=hround(w-2.25u); +else: x4=.5w+.5u; x5r=hround(w-u); fi +x4l:=x6l:=x4-.125cap_curve; +fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe +if serifs: pos6'(vair,-90); pos0(cap_stem,180); + pos8(cap_curve,180); pos9(vair,-90); pos10(hair,0); + z6'=z6; lft x0r=lft x8r=hround(x5-2/3u-.5cap_curve); + y8=1/3[y2,y7]; y0=3/5[y2,y7]; x9=.5[x8l,x10r]; + bot y9r=-o; rt x10r=hround(w-.05u); y10=1/4[y2,y7]; + filldraw stroke z6'e{right}..z0e---z8e....z9e{right}..z10e{up}; % tail + nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif + dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); % lower serif +else: penpos8(cap_stem-2stem_corr,0); penpos9(cap_stem,0); + x8=x6+.5u; y8=y6; x9r=hround(w-.5u); y9=0; + fill z8l--diag_end(8l,9l,.5,1,9r,8r)--z8r--cycle; fi % tail +math_fit(0,.75ic#); penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar; +enddef; + +width.S:=10u; +def S_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter S"; +beginchar(n,10u#,cap_height#,0); +italcorr cap_height#*slant-u#; +adjust_fit(0,0); +numeric theta; theta=90-angle(50u,h); slope:=-h/50u; % angle at middle +numeric s_slab; s_slab=if serifs:slab else:vround .2[slab,cap_stem] fi; +numeric ess'; ess'=max(fine.breadth,cap_ess); +pickup fine.nib; pos2(max(fine.breadth,s_slab-vround vair_corr),-90); +pos0(ess',theta); pos7(s_slab,-90); +x2+x7=2x0=w; x7-x2=if serifs: u else: 0 fi; top y2l=h+o; bot y7r=-o; +y0=.52h; lft x3l=hround u; rt x6r=hround(w-u); +x3r-x3l=x6r-x6l=hround .5[s_slab,ess']-fine; +ellipse_set(2l,3l,4l,0l); ellipse_set(2r,3r,4r,0r); y3=y3r; +ellipse_set(7l,6l,5l,0l); ellipse_set(7r,6r,5r,0r); y6=y6r; +filldraw stroke super_arc.e(2,3) & z3e{down} + ..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke +if serifs: pos1(hair,180); pos8(hair,180); + rt x1l=hround(w-1.5u); lft x8r=hround u; + bot y1=vround 2/3h+1; top y8=vround 1/3h-1; + filldraw stroke z1e{x2-x1,10(y2-y1)}....{left}z2e; % upper arc + filldraw stroke z7e{left}....{up}z8e; % lower arc + path upper_arc, lower_arc; + upper_arc=z1{x2-x1,10(y2-y1)}....{left}z2; + lower_arc=z7{left}....{up}z8; + pos10(.3[fine.breadth,cap_hair],0); pos9(.3[fine.breadth,cap_hair],0); + x10r=x1l; top y10=top y2l; x9l=x8r; bot y9=bot y7r; + x1l-x1'=x8'-x8r=1.6cap_curve-fine; y1'=y1; y8'=y8; + numeric t; t=xpart(upper_arc intersectiontimes(z10l--z1')); + filldraw z1l--z10r--z10l--subpath(t,0) of upper_arc--cycle; % upper barb + t:=xpart(lower_arc intersectiontimes(z9r--z8')); + filldraw z8r--z9l--z9r--subpath(t,1) of lower_arc--cycle; % lower barb +else: pos1(1.2flare,-100); pos8(1.2flare,-100); + x1l=good.x(x1l+w-1.75u-rt x1); lft x8r=hround .8u; + top y1l=vround .93h+o; bot y8r=vround .1h-o; + filldraw stroke term.e(2,1,right,.9,4); % upper arc and terminal + filldraw stroke term.e(7,8,left,1,4); fi % lower arc and terminal +math_fit(0,.5ic#); penlabels(0,1,1',2,3,4,5,6,7,8,8',9,10); endchar; +enddef; + +width.T:=13u-width_adj; +def T_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter T"; +beginchar(n,13u#-width_adj#,cap_height#,0); +italcorr cap_height#*slant-beak_jut#-.25u#; +adjust_fit(0,0); +h:=vround(h-2stem_corr); +pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); +lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0; +filldraw stroke z1e--z2e; % stem +pickup crisp.nib; pos3(slab,90); pos4(hair,0); +top y3r=h; x3=x1; rt x4r=hround(w-.65u); y4=good.y(y3l-beak)-eps; +arm(3,4,e,beak_darkness,.7beak_jut); % right arm and beak +pos5(hair,180); x5=w-x4; y5=y4; +arm(3,5,f,beak_darkness,-.7beak_jut); % left arm and beak +if serifs: dish_serif(2,1,c,1/3,1.414cap_jut,d,1/3,1.414cap_jut); % lower serif + nodish_serif(1,2,a,1/3,.5cap_jut,b,1/3,.5cap_jut); fi % upper bracketing +math_fit(-.75cap_height#*slant,ic#-2.5u#); penlabels(1,2,3,4,5,6); endchar; +enddef; + +width.U:=13u+0.5width_adj; +def U_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter U"; +beginchar(n,13u#+.5width_adj#,cap_height#,0); +italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#); +if monospace: adjust_fit(cap_serif_fit#-.5u#,cap_serif_fit#-.5u#) +else: adjust_fit(cap_serif_fit#,cap_serif_fit#) fi; +pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); +pos2'(cap_stem,180); z2'=z2; +pos3(cap_band,-90); +pos4(cap_hair,0); pos5(cap_hair,0); +x1=x2; x3=.5[x1,x5]; x4=x5; x1l=w-x5r; +top y1=top y5=h; y2=y4=1/3h; bot y3r=-o; +lft x1l=hround max(2u,3u-.5cap_stem); +filldraw stroke z1e--z2e; % left stem +filldraw stroke pulled_arc.e(2',3) + & pulled_arc.e(3,4)&z4e--z5e; % arc and right stem +if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % left serif + dish_serif(5,4,c,1/2,cap_jut,d,1/2,cap_jut)(dark); fi % right serif +math_fit(-cap_serif_fit#-.3cap_height#*slant-min(cap_height#*slant,u#), + max(.5ic#-.5u#,0)); penlabels(1,2,3,4,5); endchar; +enddef; + +width.V:=13u; +def V_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter V"; +beginchar(n,13u#,cap_height#,0); +italcorr cap_height#*slant+.25u#; +adjust_fit(cap_serif_fit#,cap_serif_fit#); +numeric left_stem,right_stem,outer_jut,alpha; +left_stem=cap_stem-stem_corr; +right_stem=min(cap_hair if hefty:-2stem_corr fi,left_stem); +outer_jut=.75cap_jut; x1l=w-x4r=l+letter_fit+outer_jut+.25u; y1=y4=h; +x2-x1=x4-x3; x2l+apex_corr=x3l; y2=y3=-apex_o; +alpha=diag_ratio(2,right_stem,y1-y2,x4r-x1l-apex_corr); +penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0); +penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0); +z0=whatever[z1r,z2r]=whatever[z3l,z4l]; +if y0>cap_notch_cut: y0:=cap_notch_cut; + fill z0+.5right{up}...{z4-z3}diag_end(3l,4l,1,1,4r,3r) + --diag_end(4r,3r,1,1,2l,1l)--diag_end(2l,1l,1,1,1r,2r){z2-z1} + ...{down}z0+.5left--cycle; % left and right diagonals +else: fill z0--diag_end(0,4l,1,1,4r,3r)--diag_end(4r,3r,1,1,2l,1l) + --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals +if serifs: numeric inner_jut; pickup tiny.nib; + prime_points_inside(1,2); prime_points_inside(4,3); + if rt x1'r+cap_jut+.5u+1<=lft x4'l-cap_jut: inner_jut=cap_jut; + else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi + dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif + dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); fi % right serif +math_fit(.75u#-cap_height#*slant,ic#-4u#); penlabels(0,1,2,3,4); endchar; +enddef; + +width.W:=18u; +def W_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter W"; +beginchar(n,18u#,cap_height#,0); +italcorr cap_height#*slant+.25u#; +adjust_fit(cap_serif_fit#,cap_serif_fit#); +numeric stem[],outer_jut,upper_notch,alpha,mid_corr; +outer_jut=.7cap_jut; x1l=w-x8r=l+letter_fit+outer_jut+.25u; +stem1=fudged.cap_stem-stem_corr; +stem4=min(fudged.hair if hefty:-2stem_corr fi,stem1); +stem2=stem4 if hefty:-2stem_corr fi; +stem3=stem1 if hefty:-2stem_corr fi; +x2-x1=x4-x3=x6-x5=x8-x7; x2l+apex_corr=x3l; x6l+apex_corr=x7l; +y1=y8=h; y2=y3=y6=y7=-apex_o; y4=y5=if monospace: vround .6 fi\\ h; +mid_corr=if monospace or hefty:-apex_corr else: 1/3jut fi; +alpha=diag_ratio(4,stem2-stem3+stem4,y1-y2,x8r-x1l+mid_corr-2apex_corr); +penpos1(alpha*stem1,0); penpos2(alpha*stem1,0); +penpos3(alpha*stem2,0); penpos4(alpha*stem2,0); +penpos5(alpha*stem3,0); penpos6(alpha*stem3,0); +penpos7(alpha*stem4,0); penpos8(alpha*stem4,0); +x4l-x1l=floor(x4l-x1l+.5(x5r+mid_corr-x4r)); % |x5r+mid_corr| $\approx$ |x4r| +z23=whatever[z1r,z2r]=whatever[z3l,z4l]; +z45=whatever[z3r,z4r]=whatever[z5l,z6l]; +z67=whatever[z5r,z6r]=whatever[z7l,z8l]; upper_notch=y4-cap_notch_cut; +fill diag_end(1l,2l,1,1,3r,4r){z4-z3} + ...if y45cap_notch_cut:(x67,cap_notch_cut)+.5right{down} + --(x67,cap_notch_cut)+.5left{up} else: z67&z67 fi + ...{z5-z6}special_diag_end(6,5,4,3){z3-z4} + ...if y23>cap_notch_cut:(x23,cap_notch_cut)+.5right{down} + --(x23,cap_notch_cut)+.5left{up} else: z23&z23 fi + ...{z1-z2}diag_end(2r,1r,1,1,1l,2l)--cycle; % diagonals +if serifs: numeric inner_jut[]; pickup tiny.nib; + prime_points_inside(1,2); prime_points_inside(5,6); prime_points_inside(8,7); + if monospace: inner_jut1=inner_jut4=1.5cap_jut; + elseif hefty: inner_jut1=inner_jut4=cap_jut; + else: fill diag_end(6r,5r,1,1,5l,6l)--.9[z5l,z6l] + ..{z5-z6}.1[z5r,z6r]--cycle; % middle stem + inner_jut2=.7inner_jut1; inner_jut4=1.1inner_jut3; + if rt x1'r+cap_jut+.5u+1<=lft x5'l-.7cap_jut: inner_jut1=cap_jut; + else: rt x1'r+inner_jut1+.5u+1=lft x5'l-inner_jut2; fi + if rt x5'r+cap_jut+.5u+1<=lft x8'l-1.1cap_jut: inner_jut3=cap_jut; + else: rt x5'r+inner_jut3+.5u+1=lft x8'l-inner_jut4; fi + dish_serif(5',6,e,1/3,inner_jut2,f,1/2,inner_jut3); fi % middle serif + dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut1); % left serif + dish_serif(8',7,c,.6,inner_jut4,d,1/2,outer_jut)(dark); fi % right serif +math_fit(.75u#-cap_height#*slant,ic#-2.5u#); +penlabels(0,1,2,3,4,5,6,7,8,23,45,67); endchar; +enddef; + +width.X:=13u; +def X_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter X"; +beginchar(n,13u#,cap_height#,0); +italcorr cap_height#*slant-.25u#; +adjust_fit(cap_serif_fit#,cap_serif_fit#); +numeric stem[],outer_jut,xjut,alpha[]; +stem1=cap_stem-2stem_corr; stem2=min(cap_hair,stem1); +outer_jut=.75cap_jut; xjut= if serifs: (stem1-stem2)/4 else: 0 fi; +x1l=l+letter_fit+.5u+outer_jut; x2r=r-letter_fit-u-outer_jut-xjut; +x3l=l+letter_fit+.25u+outer_jut+xjut; x4r=r-letter_fit-.25u-outer_jut; +y1=y2=h; y3=y4=0; +alpha1=diag_ratio(1,stem1,h,x4r-x1l); +alpha2=diag_ratio(1,stem2,h,x2r-x3l); +penpos1(alpha1*stem1,0); penpos2(alpha2*stem2,0); +penpos3(alpha2*stem2,0); penpos4(alpha1*stem1,0); +if hefty: z0=whatever[z1,z4]=whatever[z2,z3]; + x12=x34=x0; y13=y24=y0; + z12=whatever[z2l,z3l]; z13=whatever[z2l,z3l]; + z24=whatever[z2r,z3r]; z34=whatever[z2r,z3r]; + forsuffixes $=13,24,34: z$'=.1[z$,z0]; endfor + fill diag_end(12,1r,.5,1,1l,13')--z13'--diag_end(13',3l,1,.5,3r,34')--z34' + --diag_end(34',4l,.5,1,4r,24')--z24' + --diag_end(24',2r,1,.5,2l,12)--z12--cycle; % diagonals +else: fill diag_end(4r,1r,.5,1,1l,4l) + --diag_end(1l,4l,.5,1,4r,1r)--cycle; % left diagonal + fill diag_end(2l,3l,.5,1,3r,2r) + --diag_end(3r,2r,.5,1,2l,3l)--cycle; fi % right diagonal +if serifs: numeric inner_jut[]; pickup tiny.nib; + prime_points_inside(1,4); prime_points_inside(2,3); + prime_points_inside(3,2); prime_points_inside(4,1); + if rt x1'r+cap_jut+.5u+1<=lft x2'l-cap_jut-xjut: inner_jut1=cap_jut; + else: rt x1'r+inner_jut1+.5u+1=lft x2'l-inner_jut1-xjut; fi + if rt x3'r+cap_jut+.5u+1<=lft x4'l-cap_jut-xjut: inner_jut2=cap_jut; + else: rt x3'r+inner_jut2+.5u+1=lft x4'l-inner_jut2-xjut; fi + dish_serif(1',4,a,1/3,outer_jut,b,2/3,inner_jut1); % upper left serif + dish_serif(4',1,c,2/3,inner_jut2,d,1/3,outer_jut); % lower right serif + dish_serif(2',3,e,2/3,inner_jut1+xjut, + f,1/2,outer_jut+xjut)(dark); % upper right serif + dish_serif(3',2,g,1/2,outer_jut+xjut, + h,2/3,inner_jut2+xjut)(dark); fi % lower left serif +math_fit(0,.5ic#); penlabels(0,1,2,3,4,12,13,24,34); endchar; +enddef; + +width.Y:=13u; +def Y_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter Y"; +beginchar(n,13u#,cap_height#,0); +italcorr cap_height#*slant+.45u#; +adjust_fit(cap_serif_fit#,cap_serif_fit#); +numeric left_stem,right_stem,outer_jut,dy,alpha; +left_stem=cap_stem-stem_corr; +right_stem=min(cap_hair if hefty:-2stem_corr fi,left_stem); +outer_jut=.75cap_jut; x1l=w-x4r=l+letter_fit+outer_jut+.05u; +x2l=x5l=hround(.5w-.5left_stem); x3r=x5r; y1=y4=h; y2=y3=y5=.4h; +dy=y1-y2; alpha=((x2l-x1l)++dy)/dy; +penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0); +penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0); +penpos5(left_stem,0); penpos6(left_stem,0); x5=x6; y6=0; +z0=whatever[z1r,z2r]=whatever[z3l,z4l]; +if y0>y2+cap_notch_cut: y0:=y2+cap_notch_cut; + fill z0+.5right{up}...{z4-z3}diag_end(3l,4l,1,1,4r,3r)--z5r + --diag_end(5r,6r,1,1,6l,5l)--z5l--diag_end(2l,1l,1,1,1r,2r){z2-z1} + ...{down}z0+.5left--cycle; % diagonals and stem +else: fill z0--diag_end(0,4l,1,1,4r,3r)--z5r + --diag_end(5r,6r,1,1,6l,5l)--z5l + --diag_end(2l,1l,1,1,1r,0)--cycle; fi % diagonals and stem +if serifs: numeric inner_jut; pickup tiny.nib; + prime_points_inside(1,2); prime_points_inside(4,3); prime_points_inside(6,5); + if rt x1'r+cap_jut+.5u+1<=lft x4'l-cap_jut: inner_jut=cap_jut; + else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi + dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % upper left serif + dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % upper right serif + dish_serif(6',5,e,1/3,cap_jut,f,1/3,cap_jut); fi % lower serif +math_fit(.5u#-cap_height#*slant,ic#-4u#); +penlabels(0,1,2,3,4,5,6); endchar; +enddef; + +width.Z:=11u; +def Z_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The letter Z"; +beginchar(n,11u#,cap_height#,0); +italcorr cap_height#*slant-.5u#; +adjust_fit(0,0); +numeric arm_thickness[],z_stem; +if hefty: arm_thickness1=Vround(slab-vair_corr); arm_thickness2=slab; + z_stem=.8[vair,cap_stem]; +else: arm_thickness1=slab; arm_thickness2=vround(slab+vair_corr); + z_stem=.9[vair,cap_stem]; fi +pickup tiny.nib; x3l=x4l=w-x1r=w-x2r; lft x3l=hround u; +top y1=h; y2=min(y1,h-2/3arm_thickness1); +bot y4=0; y3=max(y4,2/3arm_thickness2); +numeric alpha; alpha=diag_ratio(1,z_stem-tiny,y2-y3,x2r-x3l); +penpos1(alpha*(z_stem-tiny),0); penpos2(alpha*(z_stem-tiny),0); +penpos3(alpha*(z_stem-tiny),0); penpos4(alpha*(z_stem-tiny),0); +pair delta; delta=penoffset z3-z2 of currentpen; +fill top lft z1l--z2l+delta---z3l+delta..lft z3l---lft z4l..bot z4l + ---bot rt z4r--z3r-delta---z2r-delta..rt z2r---rt z1r..top z1r + ---cycle; % diagonal +pickup crisp.nib; pos5(arm_thickness1,90); pos6(hair,180); +top y5r=h; x5=x1; lft x6r=hround 1.25u; y6=good.y(y5l-beak)-eps; +arm(5,6,a,beak_darkness**.8,-.4beak_jut); % upper arm and beak +pos7(arm_thickness2,-90); pos8(hair,0); +bot y7r=0; x7=x4; rt x8r=hround(w-.9u); y8=good.y(y7l+1.2beak)+eps; +arm(7,8,b,beak_darkness**.9,.6beak_jut); % lower arm and beak +math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8); endchar; +enddef; + + + +%%%input romspu; % uppercase specials (\AE, \OE, \O) + + +% This file contains special letters and letter combinations, +% compatible with the alphabet `{\tt romanu}'. + +% Codes \0035--\0037 are generated. + +width.AE:=16u; +def AE_(expr n, rotation_angle, moved_a, moved_b)= +currenttransform:=identity yscaled taller_letters rotated rotation_angle shifted(moved_a,moved_b); +cmchar "The ligature AE"; +beginchar(n,16u#,cap_height#,0); +italcorr cap_height#*slant-beak_jut#-.5u#; +adjust_fit(cap_serif_fit#,0); +numeric left_stem,mid_stem,outer_jut,alpha; +mid_stem=max(tiny.breadth,hround .9[mfudged.hair,mfudged.cap_stem]); +pickup tiny.nib; pos1(mid_stem,0); pos2(mid_stem,0); +lft x1l=lft x2l=hround(if monospace or hefty:.55 else:.5 fi\\w-.75u); +top y1=h; bot y2=0; +filldraw stroke z1e--z2e; % stem +pickup crisp.nib; pos3(slab,90); pos4(mfudged.hair,0); +top y3r=h; x3=x1; rt x4r=hround(w-u); y4=good.y(y3l-beak)-eps; +arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak +pos5(cap_bar,-90); pos6(mfudged.hair,0); x5=x1; +top y5l=vround(if hefty:.52 else:.48 fi\\[y2,y1]+.5cap_bar); +pos0(cap_bar,90); pos7(mfudged.hair,0); +z0=z5; x6=x7; y6-y5l=y0l-y7; +if serifs and not(monospace and hefty): rt x6r=hround(w-3.65u+.5mfudged.hair); + y6=good.y(y5l+.6beak)+eps; rt x9r=hround(w-.5u); +else: rt x6r=hround(w-1.5u); y6=y5l+eps; rt x9r=hround(w-.75u); fi +arm(5,6,f,beak_darkness,0); arm(0,7,g,beak_darkness,0); % middle arm and serif +pos8(slab if not serifs:+2stem_corr fi,-90); +pos9(mfudged.hair,0); bot y8r=0; x8=x2; y9=good.y(y8l+7/6beak)+eps; +arm(8,9,h,beak_darkness,1.5beak_jut); % lower arm and beak +left_stem=if monospace:fudged.hair else: cap_hair fi if hefty: -3stem_corr fi; +outer_jut=.8cap_jut; x11l=l+letter_fit+outer_jut+.5u; y11=0; +x12=x1l-apex_corr-if monospace:2 fi\\u; y12=h; +alpha=diag_ratio(1,.5left_stem,y12-y11,x12-x11l); +penpos11(alpha*left_stem,0); penpos12(alpha*left_stem,0); +fill diag_end(12l,11l,1,1,11r,12r) + --diag_end(11r,12r,1,1,12l,11l)--cycle; % diagonal +y10=h-slab; z10=whatever[z11,z12]; +fill z10--(x1,y10)--(x1,h)--z12--cycle; % link +penpos13(whatever,angle(z2-z1)); z13=whatever[z11,z12]; +penpos14(cap_band,90); x14=x0; y13l=y14l; y13r=y14r; +if hefty: y14r=.4h; else: y14=y0; fi +penstroke z13e--z14e; % bar line +if serifs: numeric inner_jut; pickup tiny.nib; + prime_points_inside(11,12); + if rt x11'r+cap_jut+.5u+1<=lft x2l-.75cap_jut: inner_jut=cap_jut; + else: rt x11'r+inner_jut+.5u+1=lft x2l-.75inner_jut; fi + dish_serif(11',12,i,1/2,outer_jut,j,.6,inner_jut)(dark); % lower left serif + nodish_serif(1,2,a,1/3,cap_jut+x1l-x12,b,1/3,.5cap_jut); % upper serif + nodish_serif(2,1,c,1/3,.75inner_jut,d,1/3,.5cap_jut); fi % lower middle serif +penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; +enddef; + +%A_(0,20,20,20); +%B_(1, 30, 30, 30); +%C_(2, 40, 60 ,20); + +k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning +define_pixels(k,kk,kkk); +% ligtable "P": "T": "Y": "a" kern kk#, "A" kern kk#; +% ligtable "F": "V": "W": if serifs: "a" kern kkk#, "A" kern kkk#, +% else: "a" kern kk#, "A" kern kk#, fi +% "K": "X": "o" kern k#, "O" kern k#, "c" kern k#, "C" kern k#, +% "g" kern k#, "G" kern k#, "q" kern k#, "Q" kern k#; +% ligtable "O": "D": "x" kern k#, "X" kern k#, "w" kern k#, "W" kern k#, +% "a" kern k#, "A" kern k#, "v" kern k#, "V" kern k#, "y" kern k#, "Y" +%kern k#; +% ligtable "A": if serifs: "R": fi "c" kern k#, "C" kern k#, +% "o" kern k#, "O" kern k#, "g" kern k#, "G" kern k#, +% "u" kern k#, "U" kern k#, "q" kern k#, "Q" kern k#, +% "L": "T" kern kk#, "t" kern kk#, "Y" kern kk#, "y" kern kk#, +% "V" kern kkk#, "v" kern kkk#, "W" kern kkk#, "w" kern kkk#; +% ligtable "I": "I" kern -k#; fi % Richard III + + +numeric c[]; +c[1]:=width.F+kkk; +c[2]:=width.A+kk; +c[3]:=width.C; +c[4]:=width.U; +c[5]:=width.L+kk; +c[6]:=width.T+kk; +c[7]:=width.A; +c[8]:=width.S; + c[9]:=width.I; +c[10]:=width.A; +c[11]:=width.R+kk; +c[12]:=width.T; +c[13]:=width.I; +c[14]:=width.S; + c[15]:=width.I; +c[16]:=width.I; +c[17]:=width.N; +c[18]:=width.F+k; +c[19]:=width.O+k; +c[20]:=width.R; +c[21]:=width.M; +c[22]:=width.A+kk; +c[23]:=width.T; +c[24]:=width.I; +c[25]:=width.C+kk; +c[26]:=width.AE; + +c[31]:=width.U; +c[32]:=width.N; +c[33]:=width.I; +c[34]:=width.V; +c[35]:=width.E; +c[36]:=width.R; +c[37]:=width.S; +c[38]:=width.I; +c[39]:=width.T+kk; +c[40]:=width.A; +c[41]:=width.S; + c[42]:=width.I; +c[43]:=width.M+k; +c[44]:=width.A; +c[45]:=width.S+kk; +c[46]:=width.A+k; +c[47]:=width.R; +c[48]:=width.Y; +c[49]:=width.K; +c[50]:=width.I; +c[51]:=width.A+kk; +c[52]:=width.N+kkk; +c[53]:=width.A; + +numeric d[], f[]; +pair e[]; + +%%radius#:=scaling_factor*80u#; +%%define_pixels(radius); +d[0]:= 180; +for j:=1,2: +e[1]:= radius * dir (d[0]); +for i=1 upto 26: + half:=1/2 c[i]; + halfdist:= radius +-+ half; + d[i] := d[i-1] - 2 * angle (halfdist, half); + e[i+1] := radius * dir d[i]; + f[i] := angle (e[i+1]-e[i]); +endfor; +d[0]:= 180 - 1/2 d[26]; +endfor; + +pair hi[],hii[],hiii[],hiv[]; +d[54]:= 0; +for j:=1,2: +e[54]:= (radius+cap_height*taller_letters) * dir (d[54]); +for i=53 downto 31: + half:=1/2 c[i]; + halfdist:= radius +-+ half; + d[i] := d[i+1] - 2 * angle (halfdist, half); +hi[i]:=radius*(dir(d[i+1]-angle (halfdist, half))); +hii[i]:=(radius+cap_height*taller_letters)*(dir(d[i+1]-angle (halfdist, half))); +hiii[i]:=radius*dir(d[i]); +hiv[i]:=hiii[i]+hii[i]-hi[i]; +e[i]:=hiv[i]; + f[i] := angle (e[i]-e[i+1])+180; +endfor; +d[54]:= d[54] - 1/2*(180 + d[31]); +endfor; + +F_(1,f[1],xpart e[1], ypart e[1]); +A_(2,f[2],xpart e[2], ypart e[2]); +C_(3,f[3],xpart e[3], ypart e[3]); +U_(4,f[4],xpart e[4], ypart e[4]); +L_(5,f[5],xpart e[5], ypart e[5]); +T_(6,f[6],xpart e[6], ypart e[6]); +A_(7,f[7],xpart e[7], ypart e[7]); +S_(8,f[8],xpart e[8], ypart e[8]); +A_(10,f[10],xpart e[10], ypart e[10]); +R_(11,f[11],xpart e[11], ypart e[11]); +T_(12,f[12],xpart e[12], ypart e[12]); +I_(13,f[13],xpart e[13], ypart e[13]); +S_(14,f[14],xpart e[14], ypart e[14]); +I_(16,f[16],xpart e[16], ypart e[16]); +N_(17,f[17],xpart e[17], ypart e[17]); +F_(18,f[18],xpart e[18], ypart e[18]); +O_(19,f[19],xpart e[19], ypart e[19]); +R_(20,f[20],xpart e[20], ypart e[20]); +M_(21,f[21],xpart e[21], ypart e[21]); +A_(22,f[22],xpart e[22], ypart e[22]); +T_(23,f[23],xpart e[23], ypart e[23]); +I_(24,f[24],xpart e[24], ypart e[24]); +C_(25,f[25],xpart e[25], ypart e[25]); +AE_(26,f[26],xpart e[26], ypart e[26]); + + +U_(31,f[31],xpart e[31], ypart e[31]); +N_(32,f[32],xpart e[32], ypart e[32]); +I_(33,f[33],xpart e[33], ypart e[33]); +V_(34,f[34],xpart e[34], ypart e[34]); +E_(35,f[35],xpart e[35], ypart e[35]); +R_(36,f[36],xpart e[36], ypart e[36]); +S_(37,f[37],xpart e[37], ypart e[37]); +I_(38,f[38],xpart e[38], ypart e[38]); +T_(39,f[39],xpart e[39], ypart e[39]); +A_(40,f[40],xpart e[40], ypart e[40]); +S_(41,f[41],xpart e[41], ypart e[41]); +M_(43,f[43],xpart e[43], ypart e[43]); +A_(44,f[44],xpart e[44], ypart e[44]); +S_(45,f[45],xpart e[45], ypart e[45]); +A_(46,f[46],xpart e[46], ypart e[46]); +R_(47,f[47],xpart e[47], ypart e[47]); +Y_(48,f[48],xpart e[48], ypart e[48]); +K_(49,f[49],xpart e[49], ypart e[49]); +I_(50,f[50],xpart e[50], ypart e[50]); +A_(51,f[51],xpart e[51], ypart e[51]); +N_(52,f[52],xpart e[52], ypart e[52]); +A_(53,f[53],xpart e[53], ypart e[53]); + +beginchar(60,0,0,0); +currenttransform:=identity; +pair zl, zr; +zl:= 0.5[e[31],e[1]]; +zr:= 0.5[e[27],e[54]]; +fill fullcircle scaled 3cap_curve shifted 0.5[e[31],e[1]]; +fill fullcircle scaled 3cap_curve shifted 0.5[e[27],e[54]]; +f[3]dvips:=0.5[e[31],e[1]]; +endchar; + +beginchar("S",0,0,0); endchar; +beginchar("L",0,0,0); endchar; +beginchar("C",0,0,0); endchar; +beginchar("I",0,0,0); endchar; + +let endchar = ENDCHAR; +beginchar(127,scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#); +fill unitsquare shifted (f[1]dvips+(scaling_factor*radius+cap_height,0)); +endchar; +beginchar(126,scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#); +fill unitsquare shifted (f[2]dvips+(scaling_factor*radius+cap_height,0)); +endchar; +beginchar(125,scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#); +fill unitsquare shifted (f[3]dvips+(scaling_factor*radius+cap_height,0)); +endchar; +beginchar(124,scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#); +fill unitsquare shifted f[1]dvips; +endchar; +beginchar(123,scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#); +fill unitsquare shifted f[2]dvips; +endchar; +beginchar(122,scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#, + scaling_factor*radius#+cap_height#); +fill unitsquare shifted f[3]dvips; +endchar; +beginchar(121,0,0,0); +fill unitsquare shifted f[1]dvips; +endchar; +beginchar(120,0,0,0); +fill unitsquare shifted f[2]dvips; +endchar; +beginchar(119,0,0,0); +fill unitsquare shifted f[3]dvips; +endchar; +beginchar(118,0,0,0); +endchar; + +boundarychar:= ASCII "]"; + +ligtable +%||: "S" =:| "[", +% "L" =:| "[", +% "C" =:| "[", +%"[": "S" |=:|> "S", +% "L" |=:|> "L", +% "C" |=:|> "L", +||: "S" =:| 125, + "L" =:| 127, + "C" =:| 126, + "I" =: "I", +125: "S" |=:|> "S", +127: "L" |=:|> "L", +126: "C" |=:|> "L", +"S": "S" =:| 119, +119: "S" |=:| 1, +1: "S" |=:| 2, +2: "S" |=:| 3, +3: "S" |=:| 4, +4: "S" |=:| 5, +5: "S" |=:| 6, +6: "S" |=:| 7, +7: "S" |=:| 8, +8: "S" |=:| 10, +10: "S" |=:| 11, +11: "S" |=:| 12, +12: "S" |=:| 13, +13: "S" |=:| 14, +14: "S" |=:| 16, +16: "S" |=:| 17, +17: "S" |=:| 18, +18: "S" |=:| 19, +19: "S" |=:| 20, +20: "S" |=:| 21, +21: "S" |=:| 22, +22: "S" |=:| 23, +23: "S" |=:| 24, +24: "S" |=:| 25, +25: "S" |=:| 26, +26: "S" |=:| 31, +31: "S" |=:| 32, +32: "S" |=:| 33, +33: "S" |=:| 34, +34: "S" |=:| 35, +35: "S" |=:| 36, +36: "S" |=:| 37, +37: "S" |=:| 38, +38: "S" |=:| 39, +39: "S" |=:| 40, +40: "S" |=:| 41, +41: "S" |=:| 43, +43: "S" |=:| 44, +44: "S" |=:| 45, +45: "S" |=:| 46, +46: "S" |=:| 47, +47: "S" |=:| 48, +48: "S" |=:| 49, +49: "S" |=:| 50, +50: "S" |=:| 51, +51: "S" |=:| 52, +52: "S" |=:| 53, +53: "S" |=: 60, +60: "L" |=:|> "L", + "C" |=:|> "C", + "]" |=:> 122, + "I" |=: 118, +% "]" |=:> "]", +"L": "L" =:| 121, +121: "L" |=: "A", +"A": "S" |=:|> "S", + "C" |=:|> "C", + "]" |=:> 124, + "I" |=: 118, +% "]" |=:> "]", +"C": "C" =:| 120, +120: "C" |=: "B", +"B": "S" |=:|> "S", + "L" |=:|> "L", + "]" |=:> 123, + "I" |=: 118, +"I": "S" |=:|> "S", + "L" |=:|> "L", + "C" |=:|> "C"; +% "]" |=:> "]"; +font_size 2(scaling_factor*radius#+cap_height#); +end; + diff --git a/pan13-poster/fi-logo600.mf b/pan13-poster/fi-logo600.mf new file mode 100644 index 0000000..674c915 --- /dev/null +++ b/pan13-poster/fi-logo600.mf @@ -0,0 +1,2 @@ +design_size := 600; +input fi-logo; diff --git a/pan13-poster/list b/pan13-poster/list new file mode 100644 index 0000000..9907c93 --- /dev/null +++ b/pan13-poster/list @@ -0,0 +1,6 @@ +a0size.sty +fi-logo600.mf +fi-logo.mf +list +poster.tex +znak_MU_modry.pdf diff --git a/pan13-poster/poster.tex b/pan13-poster/poster.tex new file mode 100644 index 0000000..ce9f7a3 --- /dev/null +++ b/pan13-poster/poster.tex @@ -0,0 +1,166 @@ +\documentclass[a0,portrait]{sciposter} + +\usepackage{epsfig} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{multicol} +\usepackage{bera} +\usepackage[utf8]{inputenc} +%\usepackage{fancybullets} + +\definecolor{BoxCol}{rgb}{0.9,0.9,1} +% uncomment for light blue background to \section boxes +% for use with default option boxedsections + +\definecolor{SectionCol}{rgb}{0,0,0.5} +% uncomment for dark blue \section text + +\definecolor{ReallyEmph}{rgb}{0.7,0,0} + +\renewcommand{\titlesize}{\Huge} +\title{Distributed System \\ for Discovering Similar Documents} + +% Note: only give author names, not institute +\author{Å imon Suchomel, Jan Kasprzak, and Michal Brandejs} + +% insert correct institute name +\institute{Faculty of Informatics, Masaryk University, Brno, Czech Republic} + +% \email{kas@fi.muni.cz} % shows author email address below institute + +%\date is unused by the current \maketitle + +\font\logofont=fi-logo600 at .16\textwidth + +\renewcommand{\sectionsize}{\Large} + +\newcommand{\cemph}[1]{{\sffamily\bfseries\itshape \textcolor{SectionCol}{#1}}} +\newcommand{\lemph}[1]{{\rmfamily\itshape \textcolor{SectionCol}{#1}}} +\newcommand{\eitem}[1]{\item \cemph{#1}} + +\newenvironment{ytemize} + { \begin{itemize} + \setlength{\itemsep}{0pt} + \setlength{\parskip}{0pt} + } + { \end{itemize} } + +\conference{{\bf ICEIS 2008}, 12--16 June 2008, Barcelona, Spain} + +\setlength{\figbotskip}{\smallskipamount} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Begin of Document + +\begin{document} + + +%\LEFTSIDEfootlogo +% Uncomment to put footer logo on left side, and +% conference name on right side of footer + +% Some examples of caption control (remove % to check result) + +%\renewcommand{\algorithmname}{Algoritme} % for Dutch + +%\renewcommand{\mastercapstartstyle}[1]{\textit{\textbf{#1}}} +%\renewcommand{\algcapstartstyle}[1]{\textsc{\textbf{#1}}} +%\renewcommand{\algcapbodystyle}{\bfseries} +%\renewcommand{\thealgorithm}{\Roman{algorithm}} + +% \maketitle + +\vspace*{-.06\textwidth} + +\hbox to \hsize{ +\begin{minipage}[c]{.11\textwidth} + \vspace{-.75\textwidth} + \hbox{\hskip -.83\textwidth\includegraphics[width=3\textwidth]{znak_MU_modry}\hskip -\textwidth} + \vspace{-\textwidth} +\end{minipage} +\hfil +\begin{minipage}[c]{.7\textwidth} +\begin{center} + \renewcommand{\baselinestretch}{2.0}\normalsize + {\titlesize \bf \@title}\par + \renewcommand{\baselinestretch}{1.0}\normalsize + \vspace{0.4\titleskip} + {\authorsize {\bf\@author} \par} + {\instsize + \vspace{0.2\titleskip} + \theinstitute \par + \ifthenelse{\equal{\printemail}{}}{%nothing + }{% + \vspace{0.2\titleskip} + \texttt{\printemail} + } + } +\end{center} +\end{minipage} +\hfil +\begin{minipage}[c]{.15\textwidth} + \hbox to \hsize{\logofont SL\hss} +\end{minipage} +} + +\vspace{-.02\textwidth} + +%%% Begin of Multicols-Enviroment +\begin{multicols}{2} + +\rm +%%% Abstract +\begin{abstract} + +{\sffamily\itshape + +Nějaký abstrakt. + +} +\end{abstract} + +%%% Introduction +\section{Å imonova část} + +\subsection{Kdovíco} + +\section{Yenyova část} + +\section{Conclusion} + +Nějaký závěr + +%%% References + +%% Note: use of BibTeX als works!! + +\bibliographystyle{plain} +\begin{thebibliography}{1} + +\bibitem{ISMU} +\cemph{Masaryk University Information System}\\ +{\tt http://is.muni.cz/}, contact: {\tt iscor@fi.muni.cz}. + +\bibitem{Theses} +\cemph{Czech National Archive of Graduate Theses}\\ +{\tt http://theses.cz/}, contact: {\tt theses@fi.muni.cz}. + +\end{thebibliography} + +\smallskip +\hrule height .1em +\medskip + +% \sffamily + +QR kód? + +\cemph{Contact information:}\\ + Å imon Suchomel {\tt suchomel@fi.muni.cz},\\ + Jan Kasprzak, {\tt kas@fi.muni.cz}. + + +\end{multicols} + +\end{document} + diff --git a/pan13-poster/znak_MU_modry.pdf b/pan13-poster/znak_MU_modry.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2bac634010ef55e66eb5ab57344e1e77b56df49e GIT binary patch literal 15557 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