Πρώτο commit
Αυτό το commit περιλαμβάνεται σε:
commit
8ec8e9bee2
451 αρχεία άλλαξαν με 46736 προσθήκες και 0 διαγραφές
180
content/articles/06/03_greekfonts.md
Κανονικό αρχείο
180
content/articles/06/03_greekfonts.md
Κανονικό αρχείο
|
@ -0,0 +1,180 @@
|
|||
+++
|
||||
title = 'Προσθέτοντας γραμματοσειρές στο StarOffice (και όχι μόνο)'
|
||||
date = '1998-07-01T00:00:00Z'
|
||||
description = ''
|
||||
author = 'Ευθύμιος Μαυρογεωργιάδης'
|
||||
issue = ['Magaz 06']
|
||||
issue_weight = 3
|
||||
+++
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
*Όταν πριν από έναν χρόνο αποφάσισα να ξεφύγω από τον κόσμο του \"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]{#s1}
|
||||
|
||||
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 ως έχουν (υπάρχει κάποιο πρόβλημα με τη σειρά με την οποία εμφανίζονται
|
||||
τα διάφορα δεδομένα). [Πάρε](../files/afm.pl.gz) και αποσυμπίεσε το αρχείο που κάνει την μετατροπή, και τοποθέτησέ το στο /fonts/greek. Έπειτα δημιούργησε
|
||||
καινούρια αρχεία .afm (τα οποία θα μπορούν να χρησιμοποιηθούν χωρίς πρόβλημα και από όλα τα άλλα προγράμματα που τυχόν θα τα χρειαστούν) δίνοντας τις
|
||||
παρακάτω εντολές για κάθε αρχείο .afm σε αυτόν τον υποφάκελο (ελπίζω να έχεις εγκατεστημένη την perl στο σύστημά σου):
|
||||
|
||||
perl ./afm.pl font0.afm
|
||||
rm -f font0.afm
|
||||
mv font0.afm.new font0.afm
|
||||
|
||||
5. Τώρα πρέπει να δημιουργήσεις τα αρχεία Fontmap, fonts.dir, και fonts.scale. Αυτό το κάνεις με το [type1inst](../files/type1inst.tgz). Απλώς πληκτρολόγησε
|
||||
type1inst μέσα στο /fonts/greek και το πρόγραμμα θα κάνει τη δουλειά του.
|
||||
|
||||
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]{#s2}
|
||||
|
||||
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]{#s3}
|
||||
|
||||
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]{#s4}
|
||||
|
||||
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 (ή κάτι τέτοιο, τέλος πάντων) και αν δεν είσαι εξαιρετικά γκαντέμης θα πρέπει επιτέλους κάτι να αρχίσει
|
||||
να δουλεύει! ;-)
|
||||
|
Φόρτωση…
Προσθήκη πίνακα
Προσθήκη υπερσυνδέσμου
Παράθεση σε νέο ζήτημα