ΕΕΛ/ΛΑΚ - Λίστες Ταχυδρομείου

*****SPAM***** Re: [Open-source] Εμφάνιση τετραγώνων αντί για ελληνικούς χαρακτήρες: βρέθηκε η αιτία

  • Subject: *****SPAM***** Re: [Open-source] Εμφάνιση τετραγώνων αντί για ελληνικούς χαρακτήρες: βρέθηκε η αιτία
  • From: Simos Xenitellis <simos74 [ at ] gmx [ dot ] net>
  • Date: Wed, 17 Aug 2005 20:28:29 +0100

Γεια σου Κώστα,
Νομίζω εννοείς το σφάλμα
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=252014
και ειδικά για το OpenOffice.org.

Αναφέρεις ότι σε εσένα σού εμφανίζονται τετραγωνάκια για τους χαρακτήρες που λείπουν.
Στο Ubuntu η κατάσταση μοιάζει με
https://bugzilla.ubuntu.com/attachment.cgi?id=1844
Νομίζω ότι όταν είχα αφαιρέσει γραμματοσειρές από το Ubuntu, είχα αντιμετωπίσει γράμματα να εμφανίζονται
ως τετραγωνάκια, δεν είμαι 100% σίγουρος όμως.
Αν θυμάμαι καλά, στην περίπτωση αυτή είχα αφαιρέσει την γραμματοσειρά Baekmuk.

Αν έχεις στιγμιότυπο οθόνης (ναι, καινούριο όνομα για "screenshot") που δείχνει τα τετραγωνάκια, μπορείς να το στείλεις;

Μπορείς να προσθέσεις στο
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=252014
την αναφορά στο σφάλμα
https://bugzilla.ubuntu.com/show_bug.cgi?id=2374

Konstantinos Margaritis wrote:

Λοιπόν, αφού κάθησα και έψαξα λιγάκι και μίλησα με τους maintainers του fontconfig κλπ, για την αιτία που εμφανίζονται τετραγωνάκια σε πολλά προγράμματα αντί για τους ελληνικούς χαρακτήρες, τουλ. στο Debian, πιθανόν και αλλού, βρέθηκε η αιτία και αυτόματα και οι τρόποι επίλυσης του προβλήματος.

Καταρχάς για όσους δεν έχουν καταλάβει ακόμη τί εννοώ, μιλάω για το #252014, το οποίο είναι απλώς ένα αποτέλεσμα του προβλήματος και όχι το ίδιο το πρόβλημα.

Ο λόγος είναι ότι εσωτερικά το fontconfig και η βιβλιοθήκη pango, επιλέγουν την πρώτη διαθέσιμη γραμματοσειρά που υποστηρίζει ένα σετ χαρακτήρων και αν δεν το υποστηρίζει, προχωρά στην επόμενη γραμματοσειρά. Οι γραμματοσειρές αυτές ορίζονται στο αρχείο /etc/fonts/fonts.conf.

Αν δώσει κάποιος την εντολή:

$ fc-match :lang=el_GR

θα διαπιστώσει ότι το default είναι η Bitstream Vera Serif, το οποίο είναι και το πρόβλημα καθώς η bitstream, προφανώς λανθασμένα δηλώνει ότι υποστηρίζει ελληνικούς χαρακτήρες. Με επεξεργασία του αρχείου /etc/fonts/fonts.conf, και απενεργοποίηση της εν λόγω οικογένειας γραμματοσειρών, και αφού ανανεώσουμε την cache του fontconfig:

$ fc-cache -f

διαπιστώνουμε ότι η επόμενη διαθέσιμη γραμματοσειρά είναι η Nimbus. Και πάλι πρόβλημα.

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

Όσον αφορά το 1ο, ξέρει κανείς πώς ορίζουμε κάτι τέτοιο σε μια γραμματοσειρά; Έχω σκοπό να στείλω bug report στις γραμματοσειρές αυτές αλλά θα προτιμούσα να ξέρω και πώς γίνεται για να πιέσω στην περίπτωση που είναι κάτι γελοίο.
Όπως αναφέρεις στο
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=252014
μια λύση είναι η και ενημέρωση του vcl.xcu ώστε να γνωρίζει τις γραμματοσειρές FreeFont (και με την ευκαιρία τις MgOpen). Δεν έχω κοιτάξει το θέμα, όμως αν όντως οι Bitstream Vera και Nimbus αναφέρουν ότι γνωρίζουν ελληνικά, αυτό πρέπει να διορθωθεί. Από όσο γνωρίζω από τις δοκιμές του Ubuntu, η Baekmuk έχει όντως λίγους ελληνικούς χαρακτήρες (όχι όμως τους "precomposed" με αποτέλεσμα να μην υπάρχουν τόνοι) και επειδή το vlc.xcu δεν έχει πειραχτεί από πολύ καιρό, γίνεται επιλογή της:
https://bugzilla.ubuntu.com/attachment.cgi?id=1844

Από όσο γνωρίζω, το πρόβλημα εμφανίζεται μόνο στο OpenOffice.org (όχι σε GNOME/KDE), που μού δίνει την εντύπωση ότι φταίει σε μεγάλο βαθμό το vcl.xcu.

Σίμος