Ε τυπον Τε χος ρ. 2 Απρίλιος 1999 17 Γραµµατοσειρές TrueType και L A TEX2e Απ στολος Συρ πουλος και Αντώνης Τσολοµ της 28ης Οκτωβρίου 366 671 00 Ξάνθη E-mail: DSRVWROR#REHOL[1HH1GXWK1JU Πανεπιστήµιο Αιγαίου Τµήµα Μαθηµατικών Καρλ βασι, Σάµος E-mail: DWVRO#LULV1PDWK1DHJHDQ1JU 1. Εισαγωγή Η λ ση στο πρ βληµα της δηµιουργίας εγγράφων µε τη χρήση του TEX και γραµµατοσειρών τ που TrueType είναι πολ σηµαντική. Ο λ γος είναι οτι απ τη µία υπάρχουν ουσιαστικά χιλιάδες γραµµατοσειρές σ αυτή τη µορφή και απ την άλλη τι πολλές προσφέρονται δωρεάν. Οι µέχρι τώρα λ σεις είναι ουσιαστικά οι εξής: 1. Μετατροπή της γραµµατοσειράς σε µορφή Type 1, π.χ., µε το πρ γραµµα WWI5SIE, 2. Απ ευθείας χρήση της γραµµατοσειράς µε τη βοήθεια του προγράµµατος WWI5WIP αλλά και του προγράµµατος WWI5SN τα οποία παράγουν τις µετρικές τις γραµµατοσειράς καθώς και µία «εικ να» (bitmap) σε προκαθορισµένη ευκρίνεια, ή 3. Με την χρήση του προγράµµατος WWI5PI το οποίο µεταρέπει την γραµµατοσειρά TrueType σε γραµµατοσειρά. Αν και οι πρώτες δ ο µέθοδοι είναι πολ ελκυστικές, εντο τοις εµείς εδώ καταπιαν µαστε µε τη τρίτη µέθοδο κ ρια γιατι επιτρέπει γραµµατοσειρές που είναι προεγκατεστηµένες σε περιβάλλον Windows95/98/NT, να µετατρέπονται αµέσως. Επειδή φυσικά µας ενδιαφέρουν οι ελληνικές γραµµατοσειρές, παρουσιάζουµε και µια σειρά απ απλά εργαλεία τα οποία επιτρέπουν τη χρήση των παραγώµενων γραµµατοσειρών µε το L A TEX και την ελληνική επιλογή του πακέτουbabel. Αντί να περιγράψουµε γενικά τη µέθοδο, παρουσιάζουµε τα βήµατα που ακολουθήσαµε για την δηµιουργία του πακέτου JUWLPHV, δηλαδή εν ς πακέτου που
18 Απ. Συρ πουλος και Αντ. Τσολοµ της αντικαθιστά τις γραµµατοσειρές του Claudio Beccari, µε την Times New Roman Greek ως την αντίστοιχη κανονική (roman) ελληνική γραµµατοσειρά, την Arial Greek ως την αντίστοιχη san serif ελληνική γραµµατοσειρά και την Courier Greek ως την αντίστοιχη τ που γραφοµηχανής (typewriter) ελληνική γραµµατοσειρά. Το προγράµµα WWI5PI αποτελεί πνευµατική ιδιοκτησία του Oleg Motygin και διατίθεται απ τους κ µβους του CTAN. 2. Προαπαιτο µενα και Προετοιµασία Για να µπορέσουµε να δηµιουργήσουµε τις γραµµατοσειρές έπρεπε να έχουµε στην διάθεση µας ένα υπολογιστή που χρησιµοποιο σε Windows 95/98 και επιπλέον να έχει εγκαταστηµένες τις γραµµατοσειρές που αναφέραµε. Πιστε ουµε τι αυτ στην πατρίδα µας είναι η πιο απλή απαίτηση που µπορεί να έχει κανείς απ ένα απλ υπολογιστικ σ στηµα. Στην συνέχεια εγκαταστήσαµε το πρ γραµµα WWI5PI. Στην πραγµατικ τητα αυτ που πρέπει να γίνει είναι απλά η αποσυµπίεση του αρχείου WWI5PI1]LS και τίποτα άλλο. Το πρ γραµµα τρέχει απλά µε το να γράψουµε το νοµα του σε ένα παράθυρο DOS. Επειδή συνήθως οι γραµµατοσειρές τ που TrueType ακολουθο ν την κωδικοποίηση iso-8859-7 standard, ενώ η ελληνική επιλογή τουbabel την κωδικοποίηση LGR 1, θα έπρεπε να σχεδιάσουµε µια αντιστοιχία µετατροπής την οποία ονοµάσαµε OJU0WH[1HQF [αυτ που εµείς ονοµάζουµε αντιστοιχία µετατροπής ο σχεδιαστής του προγράµµατος WWI5PI το ονοµάζει κωδικοποίηση (encoding)]. Το επ µενο βήµα ήταν απλ : η εκτέλεση του προγράµµατος. Οταν εκτελο µε το πρ γραµµα WWI5PI, διαλέγουµε ως αντιστοιχία µετατροπής την OJU0WH[1HQF και κατ πιν την γραµµατοσειρά της αρεσκείας µας, την οποία θέλουµε να µετατρέψουµε σε γραµµατοσειρά. Προσέξτε να διαλέγετε πάντα την επιλογή Greek script, ταν θέλετε να µετατρέψετε ελληνική γραµµατοσειρά. Να παρατηρήσουµε εδώ οτι στις γραµµατοσειρές που δηµιουργο µε µε αυτ το τρ πο θα εµφανίζονται και τα ΐ και ΰ, δ ο χαρακτήρες που δεν εµφανίζονται στα γνωστά προγράµµατα των Windows, καθώς και η άνω τελεία. Ας δο µε µως µερικές λεπτοµέριες που αφορο ν τη δηµιουργία των γραµµατοσειρών. Για να έχουµε καλή ποι τητα στη χρήση των γραµµατοσειρών χρειαζ µαστε πολλά µεγέθη. Οµως το αρχείο που παράγει το πρ γραµµα είναι πολ µεγάλο. Αν για παράδειγµα θέλαµε λα τα µεγέθη που απαιτεί το L A TEX θα χρειαζ µασταν µ νο για τα ελληνικά περίπου χώρο10mb! Για το λ γο αυτ δηµιουργο µε αρχεία µ νο στα παρακάτω µεγέθη: 5, 8, 9, 10 και 1 Ελπίζουµε σ ντοµα να πάψει να είναι τοπική κωδικοποίηση, αφο συµφωνήσουµε για τις ποιες αλλαγές ή προσθήκες είναι απιθυµητές και κατ πιν κοινοποιήσουµε την απ φαση µας στην διεθνή κοιν τητα του TEX.
Γραµµατοσειρές TrueType και L A TEX2e 19 17pt. Απ αυτά µε µεγεθ νσεις µπορο µε να παράγουµε και τα υπ λοιπα µεγέθη που συνήθως απαιτο νται για απ το L A TEX. Ενα άλλο θέµα είναι τα ον µατα µε τα οποία θα σώσουµε τις γραµµατοσειρές. Χρησιµοποιο µε την εξής σ µβαση. Τα κανονικά Times New Roman Greek θα τα σώσουµε σε αρχεία µε γενικ νοµα JUWP;;1PI, που ;; είναι το µέγεθος της γραµµατοσειράς. Τα πλάγια σεjuwpr;;1pi, τα έντονα σε JUWPE;;1PI και τα έντονα πλάγια σε JUWPER;;1PI. Τα αντίστοιχα γενικά ον - µατα αρχείων για την γραµµατοσειρά Arial Greek είναι: JUDU;;1PI, JUDUR;;1PI, JUDUE;;1PI και JUDUER;;1PI. Ενώ για την γραµµατοσειρά Courier Greek είναι JUFU;;1PI, JUFUR;;1PI, JUFUE;;1PI και JUFUER;;1PI. Φυσικά κανείς θα πρέπει να δηµιουργήσει αρκετά αρχεία, για την ακρίβεια πέντε µεγέθη σε τέσσερες µορφές επί τρία, δηλαδή εξήντα (60) αρχεία! Επειδή οι γραµµατοσειρές µε την κωδικοποίηση LGR χρησιµοποιο ν πολλαπλά στοιχεία για το τονισµ των γραµµάτων, σχεδιάσαµε ένα ειδικ πίνακα πολλαπλών στοχείων για χρήση µε τις νέες γραµµατοσειρές. Επειδή βέβαια είναι επίπονο να προσθέτει κανείς σε 60 αρχεία την εντολή LQSXW OJUOLJV1PI πριν απ το τελικ HQG των παραγ µενων αρχείων, σχεδιάσαµε το πρ γραµµα LQOLJV το οποίο µπορεί να κάνει αµέσως αυτή τη δουλεία για ένα αρχείο. Το πρ γραµµα είναι γραµµένο σε Perl, γλώσσα ευρ τατα διαδεµοµένη και δωρεάν διαθέσιµη για κάθε δυνατή υπολογιστική πλατφ ρµα (επισκεφθείτε το URL KWWS=22ZZZ1FSDQ1RUJ για περισσ τερες πληροφορίες). Τώρα πλέον οι γραµµατοσειρές είναι έτοιµες για να χρησιµοποιηθο ν µε το TEX. Οµως για να χρησιµοποιηθο ν µε το L A TEX θα πρέπει να φτιάξουµε αρχεία ορισµο γραµµατοσειράς, τον σχεδιασµ των οποίων περιγράφουµε στην επ µενη εν τητα. 3. Τα αρχεία ορισµο γραµµατοσειράς Ενα αρχείο ορισµο γραµµατοσειράς αποτελεί αναπ σπαστο κοµµάτι του λεγοµένου νέου µηχανισµο επιλογής γραµµατοσειρών (new font selection scheme) ή απλά NFSS του L A TEX2ε. Σ µφωνα µε το µηχανισµ κάθε γραµµατοσειρά ανήκει σε µία συγκεκριµένη κωδικοποίηση, οικογένεια και µορφή. Για τον λ γο αυτ πρέπει πάντα να ορίζουµε την κωδικοποίηση, αλλά και στην συνέχεια την οικογένεια αλλά και τις διάφορες µορφές. Οι γραµµατοσειρές του πακέτου JUWLPHV είναι κωδικοποιηµένες σ µφωνα µε την LGR. Επειδή οι περισσ τερες ελληνικές γραµ- µατοσειρές τ που TrueType είναι µονοτονικές και επιπλέον οι γραµµατοσειρές αυτο του τ που δεν περιέχουν πίνακες πολλαπλών στοιχείων (ligature tables), οι παραγώµενες γραµµατοσειρές δεν έχουν ακριβώς την κωδικοποίηση LGR, αλλά
20 Απ. Συρ πουλος και Αντ. Τσολοµ της µε την βοήθεια εν ς πίνακα πολλαπλών στοιχείων φαίνεται στο χρήστη τι την έχουν. Σ µφωνα µε το NFSS κάθε κωδικοποίηση µπορεί να περιέχει τρεις το λιγ τερο οικογένειες: γραµµατοσειρές αναλογικο µεγέθους µε πατο ρες, γραµ- µατοσειρές τ που γραφοµηχανής και γραµµατοσειρές χωρίς πατο ρες. Στην περίπτωση µας οι γραµµατοσειρές µε πατο ρες είναι οι New Times Roman Greek, οι γραµµατοσειρές τ που γραφοµηχανής οι Courier Greek και οι γραµµατοσειρές χωρίς πατο ρες οι Arial Greek. Κάθε οικογένεια γραµµατοσειρών έχει το δικ της ξεχωριστ αρχείο ορισµο γραµµατοσειράς. Επειδή εµείς θέλαµε το πακέτο JUWLPHV να µπορεί να χρησιµοποιήται σε συνδυασµ µε το πακέτο WLPHV αναγκαστήκαµε να ακολουθήσουµε την ονοµατολογία του πακέτου αυτο. Ετσι τα αρχεία για τις τρεις οικογένειες έχουν τα εξής ον µατα: /*5SWP1IG, /*5SFU1IG και /*5SKY1IG. Προσέξτε τι ενώ το πακέτο WLPHV χρησιµοποιεί ως γραµµατοσειρά χωρίς πατο ρες την Helvetica, εµείς χρησιµοποιο µε την Arial Greek επειδή απλά είναι πιο συνηθισµένη η χρήση της στην πατρίδα µας. Φυσικά αυτ µπορεί να δηµιουργήσει κάποιες παρεξηγήσεις, αλλά ο σκοπ ς αγιάζει τα µέσα! Οι συνήθεις µορφές που παρέχει µια τυπική γραµµατοσειρά τ που TrueType είναι οι εξής: ρθια, πλαγιαστή, έντονη, έντονη πλαγιαστή, ρθια υπογραµ- µισµένη, πλάγια υπογραµµισµένη, έντονη υπογραµµισµένη και πλάγια έντονη υπογραµµισµένη. Οι υπογραµµισµένες µορφές χρησιµοποιο νται αντί των πλαγίων καλλιγραφικών (italics). Επειδή το L A TEX παρέχει µηχανισµ υπογράµµισης λέξεων, δεν προσφέρει τίποτα το ουσιαστικ η χρήση της υπογεγραµµένης µορφής. Ετσι ουσιαστικά έχουµε µ νο τέσσερες µορφές. Οι υπ λοιπες µορφές πως τα καπιταλάκια (caps and small caps) και οι πλάγιοι καλλιγραφικοί, κ.λπ., αντιστοιχίζονται στις υπάρχουσες γραµµατοσειρές, αν τυχ ν κάποιος χρήστης θελήσει να τις χρησιµοποιήσει. 4. Το πακέτο JUWLPHV Ο κώδικας του πακέτου JUWLPHV είναι εξαιρετικά απλ ς; απλά επανορίζει πια θα είναι η προκαθορισµένη γραµµατοσειρά µε πατο ρες, ποια η τ που γραφο- µηχανής και ποια χωρίς πατο ρες µέσ των αρχείων ορισµο γραµµατοσειρών. Πρακάτω δίνουµε τον κώδικα που ουσιαστικά περιέχει το αρχείο JUWLPHV1VW\:?UHQHZFRPPDQG^?VIGHIDXOW`^SKY`?UHQHZFRPPDQG^?UPGHIDXOW`^SWP`?UHQHZFRPPDQG^?WWGHIDXOW`^SFU` Οπως γίνεται φανερ οδηγο µε το L A TEX στο να χρησιµοποιεί την οικογένεια LGRphv ως γραµµατοσειρά χωρίς πατο ρες, κ.λπ. Επιπλέον, υπάρχουν και αρκετοί επανορισµοί εντολών, ώστε άνετα κανείς να χρησιµοποιεί τις διάφορες εντολές της ελληνικής επιλογής του πακέτουbabel χωρίς προβλήµατα.
Γραµµατοσειρές TrueType και L A TEX2e 21! " #! $%& '()*+&,-./*0.1+230 '*& 4,52-6 7 8 9 :;<< =>?@ABC>DE FG BHFICJKH?B> LDMJE N O >B HB M>E PBAJQH MB CMABLM@AR SRM>B N HB M>E SKAICJKH J> HD@E B>CFTC@>E?B> O >B HB CM@LBHUCJKH CM>VWHR SDMXWB?> JVYSBKAB?@LRV>B Z =>?@[ ABC>DE FB?BAWICJKH?B> LDMJE N O >B HB \AJCICJKH \>]BCSDHB P@IV^?B> HB CMJVICJKH AY\>HB BLM>R?B>?BW@VIHB Z _@HDVBJE `JKHMDS^E abc defghcij kl gmknhopm dgc qirojs t?\yc@>e uxa>?ye N v FTHB N w xyy Σχήµα 2: Παράδειγµα χρήσης του πακέτου JUWLPHV. Το πακέτο JUWLPHV διατίθεται απ τους κ µβους του CTAN αλλά και απ τον κ µβο του Συλλ γου Ελλήνων Φίλων του TEX, είναι γραµµένο δε µε το σ στηµα GRF, δηλαδή το αντίστοιχο του λογοτεχνικο προγραµµατισµο για το L A TEX.Για να διαβάσετε την τεκµηρίωση θα πρέπει να τροφοδοτήσετε το αρχείο JUWLPHV1GW[ στο L A TEX ενώ αν απλά θέλετε να πάρετε τα διάφορα αρχεία του πακέτου, θα πρέπει να τροφοδοτήσετε το αρχείο JUWLPHV1LQV είτε στο L A TEX είτε στο plain TEX. Οι µετρικές των γραµµατοσειρών, δηλαδή τα αρχεία TFM, δεν συνοδε ουν το πακέτο, πως επίσης δεν περιλαµβάνονται και τα αρχεία z { }~ για λ γους που αναλ ονται στο παρακάτω URL: KWWS=22ZZZ1PLFURVRIW1FRP2W\SRJUDSK\2IDT2IDT;1KWP Μπορείτε να «κατεβάσετε» τις παραπάνω γραµµατοσειρές, καθώς και µερικές ακ µη, απ το URL: KWWS=22ZZZ1PLFURVRIW1FRP2W\SRJUDSK\2IRQWSDFN2GHIDXOW1KWP Τέλος το πακέτο συνοδέευται απ το πρ γραµµα LQOLJV αλλά και το αρχείο αντιστοιχίας µετατροπής OJU0WH[1HQF. Παρακάτω δίνουµε ένα απ σπασµα κώδικα, το δε στοιχειοθετηµένο αποτέλεσµα φαίνεται στο σχήµα 2 σελίδας 21.
22 Απ. Συρ πουλος και Αντ. Τσολοµ της?grfxphqwfodvv>d7sdshu/45sw@^duwlfoh`?xvhsdfndjh>juhhn@^edeho`?xvhsdfndjh>lvr0;;8<0:@^lqsxwhqf`?xvhsdfndjh^juwlphv`?ehjlq^grfxphqw` % /. ^?EIVHULHV % /.?HQG^GRFXPHQW` Προσέξτε τι η απ στροφος παράγεται απ το σ µβολο % και χι απ δ ο διαδοχικά *. Επειδή αν χρησιµοποιήσουµε το πακέτο JUWLPHV σχεδ ν αυτοµάτως χρησι- µοποιο µε και το πακέτο WLPHV θα πρέπει να πο µε τι οι γραµµατοσειρές που παρέχει αυτ το πακέτο θα πρέπει να µεγεθυνθο ν κατά1,2 φορές. Για να γίνει αυτ θα πρέπει να αλλάξετε κάποια πράγµατα στα αρχεια 274SFU1IG, 274SKY1IG και 274SWP1IG 2. Συγκεκριµένα θα πρέπει να αλλάξετε κάθε εντολής της µορφής?'hfoduh)rqw6kdsh^274`^swp`^p`^q`^?0! SWPU:W`^` σε?'hfoduh)rqw6kdsh^274`^swp`^p`^q`^?0!v- >415@ SWPU:W`^` Ευελπιστο µε η προσπάθεια αυτή να δώσει την απαιτο µενη ώθηση ώστε πολ σ ντοµα να δηµιουργηθο ν και άλλα πακέτα που θα δίνουν στον έλληνα χρήστη του L A TEX τη δυνατ τητα να στοιχειοθετεί τα κείµενα του χι µ νο µε τις γραµµατοσειρές του Claudio Beccari αλλά και άλλες εξίσου καλές αν χι καλ τερες. 2 Καλ βέβαια είναι οι αλλαγές αυτές να έχουν τοπικ χαρακτήρα, π.χ., να γίνονται µ νο στο τρέχοντα κατάλογο εργασίας και χι στα αρχεία που βρίσκονται στο δένδρο του TEX.