Τετάρτη, 16 Μαρτίου 2011

Wine και ελληνικά Fonts

Αν τρέχετε κάποια windows εφαρμογή στην οποία τα ελληνικά φαίνονται
περίεργα, μπορεί να φταίει το γεγονός ότι πολλές windows εφαρμογές
ζητούν τη γραμματοσειρά Tahoma explicitly by name ή ακόμα και by file(!).

Για να το αντιμετωπίσει αυτό το wine έρχεται με τη δική του 100% metric
compatible εκδοχή, δηλαδή όλοι οι χαρακτήρες σε όλα τα "point sizes"
έχουν το ίδιο μέγεθος σε pixels με αυτούς της Tahoma των Windows.

Δυστυχώς, η γραμματοσειρά αυτή δεν έχει ελληνικούς χαρακτήρες
με αποτέλεσμα να μπαίνει σε εφαρμογή ο κώδικας για αντικατάσταση
γραμμάτων και ο χρήστης να βλέπει ένα ιδιαίτερα αντιαισθητικό αποτέλεσμα
και σε πολλές περιπτώσεις να επηρεάζεται και η ίδια η λειτουργικότητα της
εφαρμογής (π.χ., αν κάποια labels δε φαίνονται).

Η ιδανική λύση θα ήταν κάποιος να προσθέσει ελληνικούς χαρακτήρες
στην Tahoma του wine μέσω fontforge. Δυστυχώς κανείς δεν έχει προσφερθεί
μέχρι στιγμής ...

Ως τότε τα workarounds που γνωρίζω (σε Ubuntu 10.10 / debian testing)
είναι τα εξής:

1. Η απλή / αλλά μη συμβατή με το πνεύμα του Ελ. Λογισμικού λύση:
απλά εγκαθιστούμε την Tahoma των windows

wget http://www.kegel.com/wine/winetricks
sh winetricks tahoma


2. Η "brute force" λύση.
edit ~/.wine/system.reg

εκεί που λέει: Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes
προσθέτουμε τη γραμμή
"Tahoma"="Liberation Sans"
Αυτό μπορεί να γίνει και με wine regedit

Επίσης μετακινούμε τα αρχεία tahoma.ttf και tahomabd.ttf σε άλλο φάκελο
και λέμε στο dpkg να μην τα επαναφέρει όταν αναβαθμίσουμε το wine:

sudo mkdir /usr/share/fonts-noel
sudo dpkg-divert --divert /usr/share/fonts-noel/tahoma.ttf \
--rename /usr/share/wine/fonts/tahoma.ttf
sudo dpkg-divert --divert /usr/share/fonts-noel/tahomabd.ttf \
--rename /usr/share/wine/fonts/tahomabd.ttf

με αυτό τον τρόπο το wine θα αναγκαστεί να χρησιμοποιήσει τα system fonts του
Linux στα οποία τα ελληνικά φαίνονται σωστά.


Σημείωση: ίσως υπάρχει δυνατότητα επίλυσης και μέσω του

Software\\Microsoft\\Windows NT\\CurrentVersion\\FontLink\\SystemLink

κλειδιού στη "registry" του wine, αυτός ο τρόπος όμως μπορεί να κάνει το κείμενο
να φαίνεται αταίριαστο μεταξύ ελληνικών και αγγλικών (αφού έτσι τα ελληνικά
θα τα παίρνει από το system font και τα αγγλικά από την ενσωματωμένη Tahoma).

Δυστυχώς, στο 2011 και αν και έχει γίνει τόση πολλή και σημαντική δουλειά
στον τομέα των γραμματοσειρών στο ελεύθερο λογισμικό, υπάρχουν ακόμα
τέτοια θέματα ...





2 σχόλια:

  1. Δυστυχώς σε μένα δε δουλεύει ούτε το 1 ούτε το 2. Σημειώνω πως η γραμματοσειρά αλλάζει (π.χ. σε Arial ή Times New Roman), αλλά τα αλαμπουρνέζικα συνεχίζουν... Τί φταίει;

    ΑπάντησηΔιαγραφή
  2. Θα πρέπει να αναφέρεις ποια διανομή / έκδοση / γλώσσα εγκατάστασης χρησιμοποιείς για να μπορώ να σε βοηθήσω. Σε kubuntu 12.04 / ελληνική εγκατάσταση τουλάχιστον που δοκίμασα αυτή τη στιγμή, τα παραπάνω δουλεύουν.

    ΑπάντησηΔιαγραφή