Elias Chrysoheris wrote:
On Thursday 25 June 2009 21:43:13 Diomidis Spinellis wrote:
Simos Xenitellis wrote:
2. Υπάρχει το ζήτημα με τη αρίθμηση στο OpenOffice.org με τη χρήση
χαρακτήρων όπως α, β, γ, δ, ε, στ, ζ, η, ...
Για τα ελληνικά δεν υπάρχει υποστήριξη για ελληνική αρίθμηση και είναι
επιθυμητό να υπάρχει.
Υπάρχει υποστήριξη για σερβικά, βουλγαρικά, και πρέπει να είναι
σχετικά εύκολο να μπει κάτι τέτοιο.
Για να γίνει, πρέπει ο συντελεστής να είναι σε θέση να μεταγλωττίσει
το OpenOffice.org.
Έπειτα, πρέπει να εντοπιστεί το σχετικό αρχείο που έχει να κάνει με
'numbering' και να προστεθεί επιλογή για ελληνικά, αντίστοιχη με αυτό
που υπάρχει για τις άλλες γλώσσες.
Ο συνολικός κώδικας δεν πρέπει να είναι πάνω από 40-60 γραμμές.
Ενδιαφέρον πρόβλημα. Εντόπισα το αρχείο στο οποίο πρέπει να γίνει η
επέμβαση και υλοποιήσα (αυτόνομα) τον αλγόριθμο ελληνικής αρίθμησης.
Ήταν όντως 64 γραμμές. <http://www.spinellis.gr/blog/20090625/> Σκοπεύω
να ενσωματώσω τον κώδικα στο ΟΟ, αλλά επειδή δεν έχω χρόνο να το
εγκαταστήσω ένα πλήρες περιβάλλον για τη μεταγλώττισή και τον έλεγχό
του, θα εκτιμούσα αν κάποιος έχει την αντίστοιχη υποδομή να
επικοινωνήσει μαζί μου για να συνεργαστούμε.
Διομήδης Σπινέλλης
Διομήδη μιας και είδη έχουμε θέσει το πρόβλημα σαν project στο Greek Coding
Camp 2009, μπορούμε να αναλάβουμε το υπόλοιπο της υλοποίησης εκεί
χρησιμοποιώντας πάντα το κομμάτι του κώδικά σου. Αμέσως τώρα θα ενημερώσω το
wiki του event.
Ηλία, πολύ ωραία! Η αντιστοιχία του αλγοριθμικού κώδικα (δηλαδή όχοι
του κώδικα ελέγχου) Java προς C++ είναι 1-1. Για την υλοποίηση στο ΟΟ
καλό είναι να προστεθεί και ένας πίνακας με τα κεφαλαία γράμματα:
// Greep upper letters (including stigma, koppa, sampi)
static sal_Unicode table_GreekUpperLetter[] = {
0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x03DA, 0x0396, 0x0397, 0x0398,
0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, 0x03DE,
0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x03E0
};
και να αφαιρεθεί η εντολή που βάζει την "άνω κεραία" στο τέλος του κάθε
αριθμού (όπως επεσήμανε και ο Αλέξης).
if (v % 1000 > 0)
r.append(greekNumeralSign);
Ο χειρισμός του ς/στ είναι στο χέρι μας. Το στ είχε εισαχθεί για λόγους
απλοποίησης της τυπογραφίας που σήμερα πάνε πάλι να εκλείψουν. Ίσως
είναι μια καλή ευκαιρία να βελτιώσουμε την κατάσταση ανασταίνοντας το
στίγμα. Αν πάλι θέλουμε να μείνουμε στο καθιερωμένο στ, τότε θα
χρειαστεί να προσθέσουμε πριν τη γραμμή
r.insert(0, greekLowerLetter[(digit - 1) + 9 * (i % 3)]);
το
if (i == 0 && digit == 6)
r.insert(0, "στ");
else
...
Δυστυχώς, αν και θα το ήθελα πολύ, δε θα μπορέσω να είμαι στο Greek
Coding Camp 2009, αλλά είμαι στη διαθεσή σας για οποιαδήποτε βοήθεια.
Διομήδης