Re: Πρόγραμμα εντολών που να μετατρέπει αρχείο

Simos Xenitellis simos.lists at googlemail.com
Sat Jun 13 21:32:10 BST 2009


2009/6/13 Savvas Radevic <vicedar at gmail.com>:
> Το UnicodeData.txt είναι και σωστά διαμορφωμένο, δείχνει το αντίστοιχο
> κεφαλαίο γράμμα δίπλα από κάθε μικρό (και vice versa):
>
> 03A1;GREEK CAPITAL LETTER RHO;Lu;0;L;;;;;N;;;;03C1;
> 03A3;GREEK CAPITAL LETTER SIGMA;Lu;0;L;;;;;N;;;;03C3;
>
> 03C1;GREEK SMALL LETTER RHO;Ll;0;L;;;;;N;;;03A1;;03A1
> 03C2;GREEK SMALL LETTER FINAL SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3
> 03C3;GREEK SMALL LETTER SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3
>
> Προσέξτε το "03A3;;03A3" στο "FINAL SIGMA" και "SIGMA".
> Επίσης, τα κεφαλαία το έχουν το αντίστοιχο μικρό στην πρότελευταια τιμή, ενώ
> τα μικρά έχουν το αντίστοιχο κεφαλαίο
>
> Σύμφωνα με αυτό που πρόσθεσε η Jennie ("Lu" και "Ll"), επισύναψα ένα
> καινούργιο sh/perl script:
>
>  (Πρόσθεσα τα quotes "" στις τιμές για να φαίνεται η διαφορά)
> Για κεφαλαία:
>>
>> perl -nle 'print if /^.*?;.*?;Lu;/' UnicodeData.txt | perl -pe
>> 's/(.*?);(.*?);(.*?);.*;(.*?);$/"$1" "$3" "$4"/'
>>
>> "03A6" "Lu" "03C6" "GREEK CAPITAL LETTER PHI"
>> "03A7" "Lu" "03C7" "GREEK CAPITAL LETTER CHI"
>> "03A8" "Lu" "03C8" "GREEK CAPITAL LETTER PSI"
>> "03A9" "Lu" "03C9" "GREEK CAPITAL LETTER OMEGA"
>> "03AA" "Lu" "03CA" "GREEK CAPITAL LETTER IOTA WITH DIALYTIKA"
>> "03AB" "Lu" "03CB" "GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA"
>> "03CF" "Lu" "03D7" "GREEK CAPITAL KAI SYMBOL"
>> "03D2" "Lu" "" "GREEK UPSILON WITH HOOK SYMBOL"
>> "03D3" "Lu" "" "GREEK UPSILON WITH ACUTE AND HOOK SYMBOL"
>> "03D4" "Lu" "" "GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL"
>
> Για μικρά:
>>
>> perl -nle 'print if /^.*?;.*?;Ll;/' UnicodeData.txt | perl -pe
>> 's/(.*?);(.*?);(.*?);.*;(.*?)$/"$1" "$3" "$4" "$2"/'
>>
>> "03DF" "Ll" "03DE" "GREEK SMALL LETTER KOPPA"
>> "03E1" "Ll" "03E0" "GREEK SMALL LETTER SAMPI"
>> "03F0" "Ll" "039A" "GREEK KAPPA SYMBOL"
>> "03F1" "Ll" "03A1" "GREEK RHO SYMBOL"
>> "03F2" "Ll" "03F9" "GREEK LUNATE SIGMA SYMBOL"
>> "03F3" "Ll" "" "GREEK LETTER YOT"
>>
>> [...]
>> "1FE2" "Ll" "" "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA"
>> "1FE3" "Ll" "" "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA"
>> "1FE4" "Ll" "" "GREEK SMALL LETTER RHO WITH PSILI"
>> "1FE5" "Ll" "1FEC" "GREEK SMALL LETTER RHO WITH DASIA"
>
> Τώρα μπορείτε εύκολα να βρείτε το αντίστοιχο κεφαλαίο/μικρό :)

Νομίζω ότι έχουμε μια καλή εξέλιξη.
Πράγματι, φαίνεται ότι τα LI, Lu, κτλ επιτρέπουν να βρίσκουμε τους
αλφαβητικούς χαρακτήρες.

Υπήρξε ένα ερώτημα προηγουμένως γιατί τα θέλουμε όλα αυτά.
Ο λόγος είναι για να διορθώσουμε κάτι στο X.Org για τα ελληνικά (και
μαζί με αυτό και για όλες τις άλλες γλώσσες).
Η αναφορά σφάλματος που περιγράφει το ζήτημα είναι στο
http://bugs.freedesktop.org/show_bug.cgi?id=22145
όπως έχει αναφερθεί ήδη.
Αυτό που είναι σημαντικό είναι ότι προσωπικά δε θα ασχοληθώ με το ζήτημα τούτο.
Αυτό που μπορώ να κάνω είναι να καθοδηγήσω κάποιους που θα ήθελαν να βοηθήσουν,
και νομίζω ότι το όλο έργο είναι σχετικά βατό.

Για τα
>> "03DF" "Ll" "03DE" "GREEK SMALL LETTER KOPPA"
>> "03E1" "Ll" "03E0" "GREEK SMALL LETTER SAMPI"
>> "03F0" "Ll" "039A" "GREEK KAPPA SYMBOL"
>> "03F1" "Ll" "03A1" "GREEK RHO SYMBOL"
>> "03F2" "Ll" "03F9" "GREEK LUNATE SIGMA SYMBOL"
>> "03F3" "Ll" "" "GREEK LETTER YOT"

Θέλουμε να παράγουμε πίνακα

int myarray[] = {

     0x03DF, 1,   // είναι αλφαβητικό
     0x03E0, 0
     0x03E1, 1,
     0x03E2, 0,
     0x03E3, 0,
     0x03E4, 0,
     0x03E5, 0,
...
     0x03F0, 1,
     0x03F1, 1,
     0x03F2, 1,
     0x03F3, 1
};

Σίμος


More information about the Ubuntu-gr mailing list