Προς το περιεχόμενο

σύγκριση χαρακτήρων στην C


fastmanakos

Προτεινόμενες αναρτήσεις

  • Απαντ. 59
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

...

Ωραία είναι και τα δύο links αλλά ο defacer έχει δίκιο για την γενική υποστήριξη unicode.

...

Προφανώς κι έχει δίκιο. Το έγραψα κι εγώ πως έχετε και οι 2 δίκιο για το θέμα της ασυμβατότητας από πλατφόρμα σε πλατφόρμα. Δεν αναιρεί όμως το ότι η τεχνική χρησιμοποιούταν (και ακόμα χρησιμοποιείται) όταν δεν ενδιαφέρει η συμβατότητα. Δώσαμε (με τον xdir εννοώ) και ως ζωντανό παράδειγμα το Win32 api.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

The way I see it υπάρχουν 2 περιπτώσεις αν το δεις το θέμα φιλοσοφικά:

 

1. Έχεις αντιμετωπίσει στην πράξη τα προβλήματα που ανέφερα οπότε μπορείς να απαντήσεις έστω και χωρίς λεπτομέρειες (δε γράφουμε διαγώνισμα).

2. Δεν έχεις δικαίωμα να είσαι σίγουρος.

 

Και για να πώ κάτι σε πιο πολεμικό ύφος (και με συγχωρείς γιατί όπως ελπίζω να καταλαβαίνεις δεν τίθεται προσωπικό θέμα):

 

Το γεγονός ότι τόσην ώρα ήμουν ο μόνος που έχει αναφέρει τη wcscoll (και αντίστοιχα strcoll αντί για strcmp) μου δίνει να καταλάβω ότι κανείς άλλος από αυτό το thread δεν έχει ασχοληθεί αρκετά με το θέμα του internationalization.

 

Όσον αφορά το Win32 API, εκεί παίζεις μόνο με WideCharToMultiByte και την αντίστροφη.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

The way I see it υπάρχουν 2 περιπτώσεις αν το δεις το θέμα φιλοσοφικά:

 

1. Έχεις αντιμετωπίσει στην πράξη τα προβλήματα που ανέφερα οπότε μπορείς να απαντήσεις έστω και χωρίς λεπτομέρειες (δε γράφουμε διαγώνισμα).

2. Δεν έχεις δικαίωμα να είσαι σίγουρος.

Περιμένεις να θυμάμαι απέξω λεπτομέρειες μετά από 5, 6, 10 χρόνια; Τα χοντρικά που θυμάμαι τα έγραψα, για τα υπόλοιπα πρέπει να κάτσω να τα βρω... και σου είπα πως βαριέμαι τώρα. Όταν κι εάν μου έρθει η όρεξη θα το κοιτάξω.

 

Btw, δεν είσαι υποχρεωμένος να με πιστέψεις ή να μείνεις στα δικά μου λόγια. Εφόσον σε ενδιαφέρει μπορείς να το ψάξεις και μόνος σου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Περιμένεις να θυμάμαι απέξω λεπτομέρειες μετά από 5, 6, 10 χρόνια;

 

Φυσικά και όχι, εξάλλου το λέω ξεκάθαρα εκεί που με κάνεις quote.

 

Περιμένω όμως να σκεφτείς κάποια από τα πράγματα που είπα (όπως π.χ. εκείνο με το search form μιλώντας για την έλλειψη normalization) και να πεις ότι μπορεί μεν να μη θυμάσαι λεπτομέρειες αλλά το έχεις κάνει επιτυχώς έστω και μια φορά -- χωρίς βέβαια γραφικότητες του στυλ if (buf == 'ά') buf = 'α'; (τις οποίες όλοι φαντάζομαι έχουμε κάνει κάποια στιγμή πριν μάθουμε τι είναι character encoding κλπ).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Προφανώς κι έχει δίκιο. Το έγραψα κι εγώ πως έχετε και οι 2 δίκιο για το θέμα της ασυμβατότητας από πλατφόρμα σε πλατφόρμα. Δεν αναιρεί όμως το ότι η τεχνική χρησιμοποιούταν (και ακόμα χρησιμοποιείται) όταν δεν ενδιαφέρει η συμβατότητα. Δώσαμε (με τον xdir εννοώ) και ως ζωντανό παράδειγμα το Win32 api.

Για παράδειγμα στο WinAPI μπορείς να κάνεις σύγκριση μεταξύ αλφαριθμητικών (UNICODE) ανεξαρτήτως διακριτικών χρησιμοποιώντας την CompareStringW και το NORM_IGNORENONSPACE flag.

 

Πχ:

 

>
printf("%d\n", CompareStringW(LOCALE_INVARIANT, NORM_IGNORENONSPACE,
	L"άέήίόύύΐΰ", -1, L"αεηιουυιυ", -1) == CSTR_EQUAL);

 

(Σε XP επιστρέφει 1 άρα CSTR_EQUAL)

 

Τώρα από τα Vista και πέρα, υπάρχουν ακόμα πιο πλούσιες ρουτίνες που διευκολύνουν εξαιρετικά την χρήση UNICODE αλφαριθμητικών όπως για παράδειγμα η NormalizeString κλπ.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ρε παιδιά. Σοβαρά τώρα.

 

Για παράδειγμα στο WinAPI μπορείς να κάνει σύγκριση μεταξύ αλφαριθμητικών (UNICODE) ανεξαρτήτως διακριτικών χρησιμοποιώντας την CompareStringW και το NORM_IGNORENONSPACE flag.

Πρώτα απ' όλα disclaimer: δεν έχω καλέσει την CompareStringEx ούτε μια φορά στη ζωή μου. Επομένως πρώτη φορά είδα μπροστά μου το NORM_IGNORENONSPACE. Πάω στο MSDN και διαβάζω:

 

NORM_IGNORENONSPACE

 

Ignore nonspacing characters. For many scripts (notably Latin scripts), NORM_IGNORENONSPACE coincides with LINGUISTIC_IGNOREDIACRITIC.

 

Note NORM_IGNORENONSPACE ignores any secondary distinction, whether it is a diacritic or not. Scripts for Korean, Japanese, Chinese, and Indic languages, among others, use this distinction for purposes other than diacritics. LINGUISTIC_IGNOREDIACRITIC causes the function to ignore only actual diacritics, instead of ignoring the second sorting weight.

 

Note NORM_IGNORENONSPACE only has an effect for locales in which accented characters are sorted in a second pass from main characters. Normally all characters in the string are first compared without regard to accents and, if the strings are equal, a second pass over the strings is performed to compare accents. This flag causes the second pass to not be performed. For locales that sort accented characters in the first pass, this flag has no effect.

Όχι ότι έχει σημασία για την παρούσα κουβέντα, αλλά δεν είναι προφανές ότι αυτό το flag δεν είναι το σωστό;

 

Κατ' επέκταση, εσύ φίλε Directx αν ήσουν τώρα στη θέση μου θα σου ήταν εύκολο να δεχτείς σαν έγκυρα τα υπόλοιπα που λέει αυτός που είναι στη θέση σου;

 

 

Γενικά η εντύπωση που έχω σχηματίσει (λαμβάνοντας υπόψη ότι η CompareString αναφέρθηκε σαν αντίστοιχη της wcscoll) είναι ότι υπάρχει κόσμος εδώ που έχει αντιμετωπίσει το πρόβλημα στην πράξη με επιτυχία αλλά μόνο όσον αφορά την προσωπική γωνιά των περιπτώσεων με τις οποίες ασχολήθηκε ο καθένας μας. Έτσι αναφέρουμε διάφορες προσεγγίσεις που έχουν τη σφραγίδα ποιότητας "works for me".

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φυσικά και όχι, εξάλλου το λέω ξεκάθαρα εκεί που με κάνεις quote.

 

Περιμένω όμως να σκεφτείς κάποια από τα πράγματα που είπα (όπως π.χ. εκείνο με το search form μιλώντας για την έλλειψη normalization) και να πεις ότι μπορεί μεν να μη θυμάσαι λεπτομέρειες αλλά το έχεις κάνει επιτυχώς έστω και μια φορά -- χωρίς βέβαια γραφικότητες του στυλ if (buf == 'ά') buf = 'α'; (τις οποίες όλοι φαντάζομαι έχουμε κάνει κάποια στιγμή πριν μάθουμε τι είναι character encoding κλπ).

Εγώ δεν έχω καταλάβει τι ακριβώς αμφισβητείς. Την ύπαρξη της τεχνικής; Την χρήση της; Την αποτελεσματικότητά της;

 

Ακόμα και το link που εσύ πρότεινες ως must-have reading στις σχολές, περιγράφει ακριβώς αυτό που είπα κι εγώ...

 

http://www.joelonsof...es/Unicode.html

...

For the latest version of CityDesk, the web site management software published by my company, we decided to do everything internally in UCS-2 (two byte) Unicode, which is what Visual Basic, COM, and Windows NT/2000/XP use as their native string type. In C++ code we just declare strings as wchar_t ("wide char") instead of char and use the wcs functions instead of the str functions (for example wcscat and wcslen instead of strcat and strlen). To create a literal UCS-2 string in C code you just put an L before it as so: L"Hello".

 

When CityDesk publishes the web page, it converts it to UTF-8 encoding, which has been well supported by web browsers for many years. That's the way all 29 language versions of Joel on Software are encoded and I have not yet heard a single person who has had any trouble viewing them.

..

 

ΥΓ. Την τελευταία φορά που χρησιμοποίησα internationalization σε Linux ήταν με _() και gettext και σε Windows με TCHAR, _T() και generic _t* συναρτήσεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ρε παιδιά. Σοβαρά τώρα.

 

 

Πρώτα απ' όλα disclaimer: δεν έχω καλέσει την CompareStringEx ούτε μια φορά στη ζωή μου. Επομένως πρώτη φορά είδα μπροστά μου το NORM_IGNORENONSPACE. Πάω στο MSDN και διαβάζω:

 

 

Όχι ότι έχει σημασία για την παρούσα κουβέντα, αλλά δεν είναι προφανές ότι αυτό το flag δεν είναι το σωστό;

 

Κατ' επέκταση, εσύ φίλε Directx αν ήσουν τώρα στη θέση μου θα σου ήταν εύκολο να δεχτείς σαν έγκυρα τα υπόλοιπα που λέει αυτός που είναι στη θέση σου;

 

 

Γενικά η εντύπωση που έχω σχηματίσει (λαμβάνοντας υπόψη ότι η CompareString αναφέρθηκε σαν αντίστοιχη της wcscoll) είναι ότι υπάρχει κόσμος εδώ που έχει αντιμετωπίσει το πρόβλημα στην πράξη με επιτυχία αλλά μόνο όσον αφορά την προσωπική γωνιά των περιπτώσεων με τις οποίες ασχολήθηκε ο καθένας μας. Έτσι αναφέρουμε διάφορες προσεγγίσεις που έχουν τη σφραγίδα ποιότητας "works for me".

 

Σοβαρότατα,

 

Κράτησε καταρχήν αυτό:

For many scripts (notably Latin scripts), NORM_IGNORENONSPACE coincides with "LINGUISTIC_IGNOREDIACRITIC".

 

Ύστερα όσον αφορά τα Ελληνικά αυτό δεν ζητούμε;

"Normally all characters in the string are first compared without regard to accents and, if the strings are equal, a second pass over the strings is performed to compare accents. This flag causes the second pass to not be performed."

 

Από την στιγμή που σε μια αναζήτηση ΔΕΝ με ενδιαφέρει η διάκριση τόνων κλπ. για αυτό χρησιμοποιώ το συγκεκριμένο flag (προφανώς!)

 

Τώρα αν εννοείς κάτι διαφορετικό; - Το πρόβλημα σου δεν είναι αν μπορείς να συγκρίνεις δίχως διακριτικά εύκολα μεταξύ UNICODE αλφαριθμητικών κλπ; ε.. λοιπόν στο Windows API μπορείς με αυτό τον τρόπο (στα Vista γίνεται με καλύτερη ρουτίνα) :)

 

Βλέπεις αυτό κατάλαβα από προηγούμενο μήνυμα σου:

Δεν υπάρχει καμία υποστήριξη για Unicode normalization forms. Το πόσο σημαντικό είναι αυτό εξαρτάται από την περίσταση, αλλά αν νομίζεις πως δέν έχει πολλή σημασία θα ήθελα να δω μια function που μετατρέπει τονούμενα ελληνικά από/προς lowercase. Edit: λάθος μου, ήθελα να γράψω "να αφαιρεί διακριτικά σημεία από την είσοδο του χρήστη". Use case: έχεις μια search form. Δεν περιμένεις βέβαια ο χρήστης να σου δώσει και τους τόνους ή τα accents για να του βρεις αυτό που ψάχνει γιατί διαφορετικά θα γίνει άμεσα πρώην χρήστης.

 

Να λοιπόν η function που θες (CompareStringW) .. και το flag (NORM_IGNORENONSPACE) για να κάνεις αυτό που χρειάζεσαι ( γιατί ο εκνευρισμός λοιπόν; ).

 

Αν εννοείς κάτι διαφορετικό πες μου ... (?)

 

Κατ' επέκταση, εσύ φίλε Directx αν ήσουν τώρα στη θέση μου θα σου ήταν εύκολο να δεχτείς σαν έγκυρα τα υπόλοιπα που λέει αυτός που είναι στη θέση σου;

Θα δοκίμαζα αυτά που ισχυρίζεται πριν τον κρίνω - αφού πρώτα διάβαζα με προσοχή τι γράφει (ας μην είμαστε προπέτες).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εγώ δεν έχω καταλάβει τι ακριβώς αμφισβητείς. Την ύπαρξη της τεχνικής; Την χρήση της; Την αποτελεσματικότητά της;

 

Ακόμα και το link που πρότεινες ως must-have reading στις σχολές, περιγράφει ακριβώς αυτό που είπα κι εγώ...

 

Αυτό που αμφισβητώ είναι η καταλληλότητά της σαν απάντηση στην ερώτηση "τι να κάνω για να βάλω Unicode υποστήριξη στην εφαρμογή μου". Η δική μου απάντηση θα ήταν "βάλε ICU" γιατί απο κει και πέρα δεν υπάρχει περίπτωση να χρειαστεί να κάνεις κάτι και να μη μπορείς ή να πας να κάνεις compile αλλού και να έχεις πρόβλημα. Όλες οι υπόλοιπες λύσεις μπορεί να είναι καλές και χρυσές και works for me αλλά στο μέλλον... ποτέ δεν ξέρεις.

 

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

 

Τέλος είναι νομίζω άδικο να δίνεις από το link μου ένα απόσπασμα που δεν είναι αντιπροσωπευτικό του περιεχομένου του (γιατί το άρθρο είναι crash course στην επεξεργασία text), και ούτε είπα φυσικά ότι θα έπρεπε να διδάσκεται αυτούσιο ως έχει. Το πνεύμα μου ήταν ότι το συγκεκριμένο άρθρο είναι ο,τι πρέπει για προπτυχιακούς που δεν έχουν ιδέα οτι υπάρχει η έννοια του encoding και του collation και κουβαλάνε ακόμα την αφελή ιδέα ότι ένα .txt μπορείς να το πας βόλτα σε άλλο μηχάνημα και να το διαβάσεις απροβλημάτιστα.

 

@DirectX: Δεν έχω να προσθέσω κάτι παραπάνω στη λογική του "works for me" που ήδη ανέπτυξα.

 

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

 

Το δέχομαι ότι δε σε ενδιαφέρει επειδή εσύ ποτέ δε χρειάστηκε να γράψεις software που να σέβεται τα Κινέζικα, αλλά αυτό δε σημαίνει ότι η λύση είναι γενικά σωστή.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εγώ δεν έχω καταλάβει τι ακριβώς αμφισβητείς. Την ύπαρξη της τεχνικής; Την χρήση της; Την αποτελεσματικότητά της;

 

Ακόμα και το link που εσύ πρότεινες ως must-have reading στις σχολές, περιγράφει ακριβώς αυτό που είπα κι εγώ...

 

Παράθεση

http://www.joelonsof...es/Unicode.html

...

For the latest version of CityDesk, the web site management software published by my company, we decided to do everything internally in UCS-2 (two byte) Unicode, which is what Visual Basic, COM, and Windows NT/2000/XP use as their native string type. In C++ code we just declare strings as wchar_t ("wide char") instead of char and use the wcs functions instead of the str functions (for example wcscat and wcslen instead of strcat and strlen). To create a literal UCS-2 string in C code you just put an L before it as so: L"Hello".

 

When CityDesk publishes the web page, it converts it to UTF-8 encoding, which has been well supported by web browsers for many years. That's the way all 29 language versions of Joel on Software are encoded and I have not yet heard a single person who has had any trouble viewing them.

..

 

 

ΥΓ. Την τελευταία φορά που χρησιμοποίησα internationalization σε Linux ήταν με _() και gettext και σε Windows με TCHAR, _T() και generic _t* συναρτήσεις.

 

Ο Joel χρησιμοποιεί εσωτερικά wchar_t οπότε μπορεί εύκολα να μεταχειρίζεται χαρακτήρες και εξωτερικά στέλνει utf8. Αυτή είναι η πιο συχνή μέθοδος και παίζει καλά. Εγώ πριν την ανέφερα με uint32_t αντί για wchar_t ώστε να είναι λίγο πιο portable. Όλα όμως εξαρτώνται από τι χρησιμοποιεί η εφαμοργή σου. Μπορεί μια εφαμοργή να παίζει τέλεια κια σε μια άλλη να γίνεται πανικός.

 

Για να σου δώσω να καταλάβεις αυτό που λέω (και που λέει και ο defacer _αν_ κατάλαβα καλά τα λεγόμενά του) θα σου δώσω ως παράδειγμα την περίπτωση του git. Πολύ συχνά (τουλάχιστον 3-4 φορές μέχρι τώρα) γίνεται ντόρος με το MacOS. Γιατί ?

 

Το MacOS χρησιμοποιεί στο filesystem του NFD δηλαδή decompose. Έστω ότι εσύ δημιουργείς ένα repository σε windows ή linux το οποίο περιέχει το αρχείο μήτσος.txt. Όταν κάποιος το κάνει clone σε MacOS, τότε το αρχείο θα αποθηκευτεί όχι ως μήτσος.txt αλλά ως μη'τσος.txt επειδή είπαμε ότι το MacOS χρησιμοποιεί NFD. Έτσι λοιπόν όταν τρέχεις git status, σου εμφανίζει ότι έχει σβηστεί ένα αρχείο (το μήτσος.txt) και υπάρχει ένα νέο-untracked αρχείο (το μη'τσος.txt το οποίο στην οθόνη σου φαίνεται ίδιο). Αυτό γίνεται γιατί το git δεν έχει πλήρη υποστήριξη του unicode (και γιατί το MacOS τον παίζει φυσικά).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

[..]

@DirectX: Δεν έχω να προσθέσω κάτι παραπάνω στη λογική του "works for me" που ήδη ανέπτυξα.

 

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

Αχ..

 

Ρίξε μια ματιά στο MSDN και θα ανακαλύψεις γιατί ΔΕΝ χρησιμοποιώ την LINGUISTIC_IGNOREDIACRITIC και φυσικά την CompareStringEx .. ΔΕΝ υπάρχουν παρά σε Windows Vista και πέρα!

 

Τέλος πάντων .. τουλάχιστον από όλα αυτά κάποιος μπορεί κάποτε να ωφεληθεί (μπορεί και εσύ).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αχ.. ρίξε μια ματιά στο MSDN και θα ανακαλύψεις γιατί ΔΕΝ χρησιμοποιώ την LINGUISTIC_IGNOREDIACRITIC και φυσικά την CompareStringEx .. ΔΕΝ υπάρχουν παρά σε Windows Vista και πέρα!

 

Την έριξα αυτή τη ματιά ήδη. Η διαφορά είναι ότι εγώ βγάζω (με επιφύλαξη γιατί δεν ξέρω τι άλλες σχετικές functions μπορεί να υπάρχουν) το συμπέρασμα "πριν τα Vista δε μπορείς να την κάνεις αυτή τη δουλειά με stock Win32" ενώ εσύ (μου δίνεις την εντύπωση ότι) βγάζεις το συμπέρασμα "σε stock Win32 αυτή η δουλειά γίνεται με το άλλο flag".

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@defacer:

 

Και γιατί να χρησιμοποιήσω την ICU αν το πρόγραμμά μου προορίζεται μονάχα για Windows και όχι το native framework της συγκεκριμένης πλατφόρμας, σου απαντάω εγώ; Επίσης, γιατί να χρησιμοποιήσω την ICU και όχι μια δική μου υλοποίηση καστομαρισμένη ακριβώς πάνω στις δυνατότητες και τις ανάγκες μιας resource-critical εφαρμογής;

 

Σε γενικές γραμμές, ο καθένας είναι ελεύθερος να επιλέξει τι τον εξυπηρετεί και τι όχι, μιας και δεν υπάρχει πασπαρτού για τα πάντα.

 

Προσπαθείς εδώ και καμιά 10αριά posts να με κάνεις discredit και κυρίως να κάνεις discredit μια διαδεδομένη τεχνική διαχείρισης Unicode strings με C. Όταν σου παραθέτω άρθρο που εσύ υπέδειξες ως must-read σε αρχαρίους που περιγράφει ακριβώς αυτή την τεχνική, βαφτίζεις ως μη-αντιπροσωπευτικό το συγκεκριμένο κομμάτι του και μου λες ότι είναι άδικο.

 

Προσωπικά θεωρώ πως είναι απόλυτα δίκαιο, γιατί αν μη τι άλλο αποδεικνύει πως δεν τα βγάζω από το μυαλό μου αυτά που υποστηρίζω.

 

@imitheos: για 3η φορά, επαναλαμβάνω πως κι εσύ κι ο defacer έχετε δίκιο για το μη-portability της τεχνικής.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Την έριξα αυτή τη ματιά ήδη. Η διαφορά είναι ότι εγώ βγάζω (με επιφύλαξη γιατί δεν ξέρω τι άλλες σχετικές functions μπορεί να υπάρχουν) το συμπέρασμα "πριν τα Vista δε μπορείς να την κάνεις αυτή τη δουλειά με stock Win32" ενώ εσύ (μου δίνεις την εντύπωση ότι) βγάζεις το συμπέρασμα "σε stock Win32 αυτή η δουλειά γίνεται με το άλλο flag".

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

 

Συνεπώς το πιο σωστό είναι να πούμε ότι: "πριν τα Vista δεν μπορεί να την κάνεις αυτή την δουλεία στις ανατολικές γλώσσες με stock Win32".

 

Αυτό δεν σημαίνει ότι αξίζει να την θυσιάσεις όμως ως δυνατότητα για να διευκολύνεις την ζωή σου (εκτός και αν πας να γράψεις σε Kanji ή Dravidians οπότε πάσο).

 

Υ.Γ.

Μάλλον το πρόβλημα είναι ότι δεν είχες την ρουτίνα υπόψη σου και αυτό σε ενόχλησε κάπως. Δεκτό._

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...