Posté le 07/04/2018 18:38
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 186 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 07/04/2018 18:45 | #
Aha, pratique ! Ça sauvera quelques vies ça.
Y'a toujours des cas tordus comme celui du simplexe où le même caractère est utilisé à différents endroits où il ne veut pas dire la même chose. Peut-être un brin de corruption ou une erreur de copie...
Citer : Posté le 07/04/2018 18:47 | #
Pour rappel (je profite du topic pour le dire), CASIO utilise un set de caractères, ainsi qu'un encodage, propriétaires. L'ensemble est nommé « FONTCHARACTER » par la communauté (tiré du nom du type pouvant contenir un caractère dans son SDK). AFAIK, il n'est strictement équivalent à aucun encodage lié à l'Unicode.
L'encodage est pensé en tables, et soit N le nombre de tables ajoutées à la table de base, le set peut contenir (256 - N) + N * 256). Il y a actuellement cinq tables d'extensions, il y a donc (256 - 6) + 6 * 256 = 1786 emplacements de caractères actuellement (pas tous occupés, certains emplacements peuvent aussi ne plus être occupés car ils l'étaient par un caractère qui a été supprimé depuis).
Il fonctionne en majeur/mineur : d'abord, le premier octet est lu. Si le caractère est un caractère spécial désignant une table étendue (majeur), alors un second octet est lu et désigne l'un des caractères de la table étendue. Sinon, le caractère appartient à la table de base.
Il existe la manière de taille variable de les représenter (système de majeures/mineures), ou la manière de taille fixe (pour lequel le type FONTCHARACTER du SDK sert). Toutes les valeurs du type de taille fixe ne sont pas valides : il faut impérativement que les huit bits supérieurs soient égaux à 0x00 (table de base) ou l'une des majeures.
Les « caractères » dans cet encodage peuvent désigner soit un caractère visuel, soit un caractère de contrôle (dans certaines situations), soit une séquence de caractères visuel, d'où le fait que les unités de l'encodage soient plutôt appelés « opcodes » généralement. Ce choix technologique a probablement été fait pour simplifier le lexer/parser des éléments de l'OS comme PRGM ou RUN(-MAT).
Les majeures existant actuellement sont 0x7F, 0xF7, 0xF9, 0xE5, 0xE6 et 0xE7. Par exemple, l'« opcode » 0x31 représente le chiffre 1, et l'« opcode » 0x7F51 désigne la séquence « List » (avec l'espace de fin).
La référence de tous les caractères existants ainsi que leur historique est l'un de mes projets en pause, la référence FONTCHARACTER (surnommée « refc »), je ne connais hélas pas par contre de projet analogue (hormis BIDE, projet de Zezombye qui inclue bien évidemment sa manière de représenter ces caractères, et d'autres logiciels type Casetta, mais rien d'utilisable par tout un chacun dans son projet de développement) et plus avancé.
Mon blog ⋅ Mes autres projets