💾 Archived View for magaz.hellug.gr › 06 › 03_greekfonts › index.gmi captured on 2024-08-25 at 00:24:33. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-02-05)

-=-=-=-=-=-=-

Προσθέτοντας γραμματοσειρές στο StarOffice (και όχι μόνο)

Ευθύμιος Μαυρογεωργιάδης
Ιουλ 1998

Όταν πριν από έναν χρόνο αποφάσισα να ξεφύγω από τον κόσμο του "General Protection Fault" και την γνωστή τριδάχτυλη κίνηση που το ακολουθούσε, εγκατέστησα το Linux στον υπολογιστή μου επιδιώκοντας να γλυτώσω και νεύρα και χρήμα.

Στην αρχή το σύστημα που ξεκίνησε ο Linus Torvalds κατελάμβανε μόνο ένα μικρό μέρος του σκληρού μου δίσκου. Αυτό που κρατούσε ακόμη το αντίπαλον δέος εν ζωή ήταν η έλλειψη ενός εύχρηστου πακέτου επεξεργασίας κειμένου για Linux. Το τελευταίο, βέβαια, θα έπρεπε να προσφέρεται και δωρεάν. Τότε ήταν που στις αναζητήσεις μου ανά το διαδίκτυο ανακάλυψα το StarOffice, ένα πακέτο προγραμμάτων που προσφέρεται δωρεάν για προσωπική χρήση. Η χαρά μου μετριάστηκε όμως όταν προσπάθησα να βρω πώς θα μπορούσα να εγκαταστήσω ελληνικές και άλλες γραμματοσειρές για χρήση από το StarOffice. Απότοκος των επισκέψεών μου σε διάφορα απίθανα μέρη του δικτύου προκειμένου να βρω τις πληροφορίες που με ενδιέφεραν είναι το παρόν αρθρίδιο (όπως λέμε υβρίδιο ;-)

Η εγκατάσταση γραμματοσειρών στο StarOffice είναι λίγο προβληματική καθώς δεν υπάρχει κάποιο πρόγραμμα που να την αυτοματοποιεί. Επιπλέον, επειδή το StarOffice τρέχει κάτω από περιβάλλον X-Windows και χρησιμοποιεί Ghostscript για τις εκτυπώσεις των αρχείων του, πρέπει οι γραμματοσειρές τις οποίες θέλουμε να χρησιμοποιήσουμε να είναι διαθέσιμες όχι μόνο στο StarOffice αλλά και στα X-Windows και στη Ghostscript. Πρέπει ακόμη να σημειωθεί ότι το StafOffice μπορεί να διαβάζει μόνο γραμματοσειρές τεχνολογίας Type-1 (.pfa και .pfb). Για να περιπλακούν μάλιστα τα πράγματα περισσότερο, οι τελευταίες μπορούν να απεικονιστούν σωστά επί της οθόνης μόνο αν συνοδεύονται από μία ιδιάζουσα μορφή αντίστοιχου αρχείου .afm. Όσο παράξενα ακούγονται όλα αυτά, τόσο εύκολη είναι η εγκατάσταση αυτή καθ' αυτή ;-) Απλώς ακολουθήστε προσεκτικά τα παρακάτω βήματα έτσι ώστε οι γραμματοσειρές που θέλετε να εγκαταστήσετε να είναι διαθέσιμες και στα X-Windows και στη Ghostscript αλλά, φυσικά, και στο StarOffice:

1. Προετοιμασία γραμματοσειρών για χρήση από το StarOffice

2. Εγκατάσταση των καινούριων γραμματοσειρών στα X-windows

3. Εγκατάσταση των καινούριων γραμματοσειρών στη Ghostscript

4. Εγκατάσταση των καινούριων γραμματοσειρών στο StarOffice

[1. Προετοιμασία γραμματοσειρών για χρήση από το StarOffice]

1.

Αποσυμπίεσε το αρχείο με τις καινούριες γραμματοσειρές σου σε κάποιο υποφάκελο, π.χ. /fonts/greek.

2.

Διάγραψε οποιαδήποτε παραπανίσια αρχεία υπάρχουν (π.χ. README, .afm, .ttf, και δεν ξέρω εγώ τι άλλο) αφήνοντας μόνο τα .pfb ή .pfa αρχεία που περιέχονται στο /fonts/greek. (Δεν πειράζει αν δεν διαγράψεις τίποτε, αλλά συνήθως η πληθώρα αρχείων σε κάποιον υποφάκελο μόνο να μας μπερδέψει μπορεί).

3.

Εφόσον έχεις εγκαταστήσει Ghostscript στον υπολογιστή σου, πρέπει να έχει ήδη εγκατασταθεί και κάποιο πρόγραμμα γνωστό ως printafm (αν δεν βρίσκεις τίποτε τέτοιο, προφανώς πρέπει να αναβαθμίσεις την Ghostscript σου στην τελευταία έκδοση). Για κάθε γραμματοσειρά στο /fonts/greek πρέπει να κάνεις:

printafm font0.pfb > font0.afm
printafm font1.pfb > font1.afm                  κλπ.

Έτσι θα δημιουργήσεις τα αρχεία .afm που πρέπει να συνοδεύουν τις γραμματοσειρές σου (αυτά που έρχονται με το συμπιεσμένο αρχείο προτιμώ να τα σβήνω και να δημιουργώ καινούρια με αυτόν τον τρόπο).

4.

Προσοχή! Τα αρχεία που δημιούργησες δεν μπορούν να χρησιμοποιηθούν από το StafOffice ως έχουν (υπάρχει κάποιο πρόβλημα με τη σειρά με την οποία εμφανίζονται τα διάφορα δεδομένα). Πάρε[1] και αποσυμπίεσε το αρχείο που κάνει την μετατροπή, και τοποθέτησέ το στο /fonts/greek. Έπειτα δημιούργησε καινούρια αρχεία .afm (τα οποία θα μπορούν να χρησιμοποιηθούν χωρίς πρόβλημα και από όλα τα άλλα προγράμματα που τυχόν θα τα χρειαστούν) δίνοντας τις παρακάτω εντολές για κάθε αρχείο .afm σε αυτόν τον υποφάκελο (ελπίζω να έχεις εγκατεστημένη την perl στο σύστημά σου):

1: ../files/afm.pl.gz

perl ./afm.pl font0.afm
rm -f font0.afm
mv font0.afm.new font0.afm

5.

Τώρα πρέπει να δημιουργήσεις τα αρχεία Fontmap, fonts.dir, και fonts.scale. Αυτό το κάνεις με το type1inst[2]. Απλώς πληκτρολόγησε type1inst μέσα στο /fonts/greek και το πρόγραμμα θα κάνει τη δουλειά του.

2: ../files/type1inst.tgz

6.

Με κάποιον κειμενογράφο [editor] διόρθωσε τη γραμμή 2 των αρχείων .afm ως εξής:\--------------------------------------------------------------------------------

\ Διορθωμένο Παλιό

StartFontMetrics 2.0 StartFontMetrics 2.0

FontName mgpmab__.pfb FontName MgPolMemApla-Bold

FullName MgPolMemApla-Bold FullName MgPolMemApla-Bold

FamilyName MgPolMemApla FamilyName MgPolMemApla--------------------------------------------------------------------------------

Απλώς δηλαδή αντίγραψε το FullName στη θέση του FontName.

Σημείωση: Το συγκεκριμένο βήμα είναι δική μου προσθήκη (δεν αναφέρεται πουθενά στο διαδίκτυο, απ' όσο ξέρω) γι' αυτό δοκιμάστε την εγκατάσταση με και χωρίς αυτό. Στο δικό μου σύστημα το StarOffice, αν και απεικόνιζε σωστά τις γραμματοσειρές στην οθόνη, δεν τύπωνε σωστά. Μόνο όταν έκανα την παραπάνω αλλαγή κατάφερα να το κάνω να εκτυπώνει και σωστά.

[2. Εγκατάσταση των καινούριων γραμματοσειρών στα X-windows]

1.

Για να βλέπεις τις καινούριες γραμματοσειρές στα X-Windows πρόσθεσε στο .xinitrc τις γραμμές:

xset +fp /fonts/greek 
xset  fp rehash 

Αν είσαι super user τότε καλύτερα να προσθέσεις το /fonts/greek απευθείας στο /etc/X11/XF86Config. Ταυτόχρονα, έλεγξε τους υποφακέλους γραμματοσειρών που υπάρχουν στο /etc/X11/XF86Config και άλλαξε τη σειρά με την οποία τους διαβάζουν τα X-Windows τοποθετώντας πρώτα αυτούς που περιέχουν κλιμακωτές [scalable] (Type-1) γραμματοσειρές και έπειτα αυτούς που περιέχουν γραμματοσειρές τύπου .pcf.

Επειδή το StarOffice ψάχνει για την κατά περίπτωση ζητούμενη γραμματοσειρά με τη σειρά που αυτές έχουν φορτωθεί, αν φορτωθούν πρώτα οι γραμματοσειρές .pcf και ζητείται μια γραμματοσειρά η οποία είναι διαθέσιμη και σε .pcf και σε μορφή Type-1, τότε θα επιλεγεί η μη κλιμακωτή [unscalable] γραμματοσειρά για την απεικόνιση του κειμένου στην οθόνη. Κάτι τέτοιο είναι τουλάχιστον αντιαισθητικό αν όχι εκνευριστικό! Πάντως, αν για κάποιο λόγο δεν θέλεις να πειράξεις τη σειρά με την οποία φορτώνονται οι γραμματοσειρές, τότε μπορείς απλώς να προσθέσεις την ένδειξη ":unscaled" (χωρίς τα εισαγωγικά) στο τέλος της διαδρομής [pathname] του υποφακέλου όπου υπάρχουν μη κλιμακωτές γραμματοσειρές, π.χ.:

    FontPath   "/usr/X11R6/lib/X11/fonts/misc/:unscaled"
    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"                κλπ.

Αν οι γραμματοσειρές του συστήματός σου φορτώνονται από το αρχείο  /.xinitrc, τότε οι αντίστοιχες αλλαγές εκεί θα έμοιαζαν κάπως έτσι:

xset +fp /usr/applic/X/lib/fonts/misc:unscaled
xset +fp /usr/applic/X/lib/fonts/75dp:unscaled
xset +fp /usr/applic/X/lib/fonts/Type1
xset  fp rehash

Σε κάθε περίπτωση οι οποιεσδήποτε αλλαγές θα πρέπει να γίνουν και στα δύο αρχεία (/etc/X11/XF86Config και  /.xinitrc). Προσωπικώς, στον δικό μου υπολογιστή έχω αλλάξει τη σειρά με την οποία φωρτώνονται οι γραμματοσειρές (έτσι ώστε να φορτώνονται πρώτα οι τύπου 1) και, για καλό και για κακό, έχω προσθέσει και την ένδειξη ":unscaled" στις διαδρομές των υποφακέλων που περιέχουν μη κλιμακωτές γραμματοσειρές. Έτσι τουλάχιστον ξέρω πως όταν τα γράμματα φαίνονται τετράγωνα στην οθόνη μάλλον γραμματοσειρά πρέπει να αλλάξω παρά οθόνη. ;-)

[3. Εγκατάσταση των καινούριων γραμματοσειρών στη Ghostscript]

1.

Για να μπορεί η Ghostscript να χρησιμοποιεί τις καινουριές γραμματοσειρές που προσθέτεις κάνε τα ακόλουθα:

Με έναν κειμενογράφο άνοιξε το αρχείο /fonts/greek/Fontmap. Αυτό που βλέπεις πρέπει να μοιάζει κάπως έτσι:

MgPolMemApla-Bold                        (mgpmab__.pfb) ;
MgPolMemApla-BoldItalic                  (mgpmad__.pfb) ;
MgPolMemApla-Italic                      (mgpmai__.pfb) ;
MgPolMemApla-Normal                      (mgpman__.pfb) ;

Πρόσθεσε ένα "/" (χωρίς τα εισαγωγικά) στην αρχή κάθε σειράς και συμπλήρωσε το όνομα της κάθε γραμματοσειράς με την πλήρη διαδρομή υποφακέλου [full path name] του κάθε αρχείου. Έτσι πρέπει να έχεις:

/MgPolMemApla-Bold                        (/fonts/greek/mgpmab__.pfb)   ;
/MgPolMemApla-BoldItalic                  (/fonts/greek/mgpmad__.pfb)   ;
/MgPolMemApla-Italic                      (/fonts/greek/mgpmai__.pfb)   ;
/MgPolMemApla-Normal                      (/fonts/greek/mgpman__.pfb)   ;

Μην σώσεις το αρχείο, απλώς άνοιξε το /usr/share/ghostscript/(version-number)/Fontmap με έναν κειμενογράφο και αντίγραψε το μεταλλαγμένο αυτό /fonts/greek/Fontmap μέσα στο Fontmap του ghostscript (ας πούμε, στην αρχή). Σώσε μόνο το Fontmap του Ghostscript, όχι το /fonts/greek/Fontmap!

[4. Εγκατάσταση των καινούριων γραμματοσειρών στο StarOffice]

1.

Το StarOffice στο σύστημά μου είναι εγκατεστημένο στον υποφάκελο /opt/Office40. Κάνοντας, λοιπόν, τις ανάλογες αλλαγές, δώσε τις πρακάτω εντολές:

cd /opt/Office40/xp3/pssoftfonts/
ln -s /fonts/greek/*.pfb .
cd /opt/Office40/xp3/fontmetrics/afm/
ln -s /fonts/greek/*.afm .

2.

Με έναν κειμενογράφο άνοιξε το /fonts/greek/fonts.dir (Προσοχή! Και σε αυτή την περίπτωση θα κάνουμε μόνο αλλαγές προς αντιγραφή. Δεν πρέπει να σώσεις το αρχείο κλείνοντάς το!). Πρέπει να φαίνεται κάπως έτσι:

4
mgpmab__.pfb --mgpolmemapla-bold-r-normal--0-0-0-0-p-0-iso8859-1
mgpmad__.pfb --mgpolmemapla-bold-i-normal--0-0-0-0-p-0-iso8859-1
mgpmai__.pfb --mgpolmemapla-medium-i-normal--0-0-0-0-p-0-iso8859-1
mgpman__.pfb --mgpolmemapla-medium-r-normal--0-0-0-0-p-0-iso8859-1

Σβήσε τον αριθμό στην αρχή του αρχείου και αντικατέστησε τα ".pfb" με "," και τα "-0-0-0-0-" με "-%d-%d-%d-%d-" (φυσικά χωρίς τα εισαγωγικά). Το έκτρωμα που θα δημιουργηθεί αντίγραψέ το στο τέλος του αρχείου /opt/Office40/xp3/psstd.fonts

3.

Βγες από τα X-Windows, ξαναμπές και τρέξε το StarOffice! Τι περιμένεις; ;-)

Κανονικά, μετά απ' όλ' αυτά, τα πάντα θα πρέπει να δουλεύουν τέλεια. Θα πρέπει να μπορείς και να βλέπεις και να εκτυπώνεις με τις καινούριες γραμματοσειρές που έχεις εγκαταστήσει. Αν όμως παρ' ελπίδα και πάλι δεν γίνεται τίποτε, τότε αυτό μάλλον οφείλεται στο γεγονός ότι οι καινούριες (ελληνικές;) γραμματοσειρές σου έχουν το ίδιο όνομα με κάποια άλλη (ξένη;) γραμματοσειρά (π.χ.times, arial, κλπ.) - το ότι προφανώς ανήκουν σε διαφορετικές οικογένειες δεν φαίνεται να πολυνοιάζει το StarOffice). Σε αυτή την περίπτωση, αλλάζεις την ονομασία των γραμματοσειρών σου στα αρχεία /fonts/greek/fonts.dir, /fonts/greek/fonts.scale, και /opt/Office40/xp3/psstd.fonts από π.χ times σε timesgr (ή κάτι τέτοιο, τέλος πάντων) και αν δεν είσαι εξαιρετικά γκαντέμης θα πρέπει επιτέλους κάτι να αρχίσει να δουλεύει! ;-)

Αρχική Σελίδα