Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Police 5x7 Unicode pour add-ins et C.Basic
Lephenixnoir Hors ligne Administrateur Points: 24668 Défis: 170 Message

Police 5x7 Unicode pour add-ins et C.Basic

Posté le 01/06/2019 01:48

Ça faisait un moment que je pense qu'on a besoin d'une police Unicode, pour les applications, les cours et les maths... comme j'ai repris mon moteur d'affichage mathématique je me suis dit que c'était la bonne occasion de la faire pour de bon, ce qui m'a pris deux soirées.



Dépôt Git avec les sources et le détail d'utilisation

J'ai sélectionné les blocs Unicode les plus courants, et je peux en faire plus si jamais le besoin se présente. La police est sous CC0, toute utilisation ou dérivation est libre. Les contributions sont acceptées avec joie. Enjoy!

Également proposé par Diaowinner : La police k6x8 qui contient des Kanji et des Kana !

Voici la police complète à ce jour :



Fichier joint


1, 2, 3, 4 Suivante
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 01/06/2019 11:17 | #


This is a nice font!
There are a lot of new fonts.
I still feel the possibility of 5x7 font.
Thanks.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 01/06/2019 11:32 | #


Génial. Il y a pleins de caractères utilise dans ta police
Lephenixnoir Hors ligne Administrateur Points: 24668 Défis: 170 Message

Citer : Posté le 01/06/2019 17:23 | # | Fichier joint


Sentaro21 a écrit :
I still feel the possibility of 5x7 font.

Thank you Sentaro! 5x7 is almost magic. It combines simple lines with an amazing expressiveness. Almost every character can be drawn.

Disperseur a écrit :
Génial. Il y a pleins de caractères utilise dans ta police

Merci ! Les add-ins en particulier auront toujours tendance à utiliser des images (contrairement au Basic où plein de choses sont faites en texte), donc c'est vraiment pour écrire du texte je suppose. Les caractères mathématiques m'intéressent en particulier !

Je viens de finir deux nouveaux blocs, Latin Extended-A et la fin de Greek and Coptic (ci-dessous et dans le post suivant).


Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 24668 Défis: 170 Message

Citer : Posté le 01/06/2019 17:23 | # | Fichier joint


Voici le second bloc.


Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 02/06/2019 09:04 | #


Ce n'est pas encore compatible C Basic ?
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 02/06/2019 09:35 | #


It can be used as the external fonts in C.Basic.
Extract the required fonts,
Rewrite the following font file and transfer it to the current folder.

FONTK8L.bmp
FONTG8L.bmp
(refer to FONT folder of C.Basic zip.)

The font can be selected with [F5](CHAR)-[F6].
(Set EnableExFont to on in setup.)
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Lephenixnoir Hors ligne Administrateur Points: 24668 Défis: 170 Message

Citer : Posté le 02/06/2019 16:22 | #


By the way Sentaro, have you considered supporting a wider set of characters, maybe by Unicode block?

I currently only support certain subsets of ASCII in my font manager in gint, but I will extend it to support any combination of blocks (intervals) later on.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Corne2plum3 Hors ligne Membre Points: 280 Défis: 9 Message

Citer : Posté le 02/06/2019 16:41 | #


Pourquoi il y a des sortes de blocks rouges et blancs ?
N'arrêtez jamais d'apprendre ! (Leo TechMaker)
Tu veux des bons jeux ? Ou bien des utilitaires ou des trucs inutiles ?...
C'est ici ! Programmes compatibles Graph 35+
Ce super jeu : Le solitaire à 33 trous
Ce tableau périodique à jour : Tableau périodique
Ce truc qui sert à rien : Carton de loto generator
Lephenixnoir Hors ligne Administrateur Points: 24668 Défis: 170 Message

Citer : Posté le 02/06/2019 18:55 | # | Fichier joint


C'est les caractères qui existent mais que je n'ai pas réussi à dessiner, souvent parce qu'il n'y a pas la place. Ce sont quasiment tous des caractères bien tordus.

(Fichier joint pour la RDP.)
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Corne2plum3 Hors ligne Membre Points: 280 Défis: 9 Message

Citer : Posté le 02/06/2019 18:57 | #


Ah
N'arrêtez jamais d'apprendre ! (Leo TechMaker)
Tu veux des bons jeux ? Ou bien des utilitaires ou des trucs inutiles ?...
C'est ici ! Programmes compatibles Graph 35+
Ce super jeu : Le solitaire à 33 trous
Ce tableau périodique à jour : Tableau périodique
Ce truc qui sert à rien : Carton de loto generator
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 03/06/2019 01:02 | #


Lephenixnoir a écrit :
By the way Sentaro, have you considered supporting a wider set of characters, maybe by Unicode block?

Now it is still a genuine compatible specification in C.Basic,
However I want to support those characters.
If Unicode can be supported
Especially in 90+E, fonts of more languages can be supported reasonably.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Lephenixnoir Hors ligne Administrateur Points: 24668 Défis: 170 Message

Citer : Posté le 03/06/2019 02:01 | #


Hmm, that's right, you have to remain compatible with the FONTCHARACTER encoding.

Do you have 16-bit characters right now?

If yes, then you could use UTF-16. The extended FONTCHARACTER characters have prefixes 0x7f, 0xf9, 0xe5 and 0xe6, which fall respectively into two CJK ideograph blocks, which we are never going to support because they're monstrously immense, and the private areas.

If not, then do you use a variable-width encoding?


Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 Hors ligne Ancien administrateur Points: 1964 Défis: 11 Message

Citer : Posté le 03/06/2019 11:46 | #


Compatibility between the two encodings of FONTCHARACTER (fixed and variable size) and the Unicode Transformation Format is really limited…

- only UTF-16BE could be supported, UTF-16 requires support of the BOM which could lead to UTF-16LE which would be unsupported.
- UTF-8 is not compatible with the variable size encoding of FONTCHARACTER (which I call FONTCHARACTER-8), because it uses the extended byte range (0x80-0xff) with prefixes where for UTF-8 it means the beginning of a sequence (depending on the number of 1 at the beginning).

Plus, there might be sanitization at some point for filtering-out or rejecting non-FONTCHARACTER characters…
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 04/06/2019 09:45 | #


@Lephenixnoir
The 16-bit code is FONTCHARACTER and external font extension (FFxx).
The G+90E can use the built-in Chinese GB code, but the overlapping part with FONTCHARACTER will be garbled.

@Cakeisalie5
It is a pity that FONTCHARACTER and Unicode can not co-exist.
if stop compatibility with FONTCHARACTER, the meaning of C.Basic will diminish.
If find a way to use Unicode well, I would like to implement it.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Lephenixnoir Hors ligne Administrateur Points: 24668 Défis: 170 Message

Citer : Posté le 04/06/2019 14:01 | #


I see two options here.

1. First would be to use UTF-16 and ignore the overlapping with FONTCHARACTER. As you mentioned, there are conflicts on Chinese characters. But the first Chinese character block has more than 20 thousands characters, so maybe there's no overlap due to the sheer number of code points?

2. Second option would be to add an option-comment to switch between FONTCHARACTER and Unicode at runtime. Is that feasible in the code base of C.Basic?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 06/06/2019 08:45 | #


Implementing the code switching command is not difficult, but the added font needs to be able to be displayed normally by the editor.
Considering compatibility, it is difficult if it is not an extension of FONTCHARACTER.

I think both options are not easy.

So, ignoring compatibility,
I think it might be best to switch to unicode-based format like HP prime.

Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Lephenixnoir Hors ligne Administrateur Points: 24668 Défis: 170 Message

Citer : Posté le 06/06/2019 13:21 | #


Maybe you could do like HTML? In HTML, the encoding is declared in a <meta> tag inside the document. Browsers typically look for it in the first 1024 bytes of the file and fallback to a default encoding if it's not there.

Could you search for the Unicode comment in the first few bytes of the program to decide which font to use?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Hackcell Hors ligne Maître du Puzzle Points: 1532 Défis: 11 Message

Citer : Posté le 06/06/2019 16:24 | #


Je me propose pour le bloc U+28, enfin qu'une parti, car certain caractères risques de ne pas passer...
Lephenixnoir Hors ligne Administrateur Points: 24668 Défis: 170 Message

Citer : Posté le 06/06/2019 16:43 | #


Pas une mauvaise idée, ils passeront tous sans difficulté ! C'est gentil !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Hackcell Hors ligne Maître du Puzzle Points: 1532 Défis: 11 Message

Citer : Posté le 06/06/2019 16:51 | # | Fichier joint


Ha oui, effectivement, je sais plus compter

Ajouté le 06/06/2019 à 16:58 :
Donc je dois laisser deux pixel blanc entre chaque caractères, Et faire le tout en format png, Go ♥
1, 2, 3, 4 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 64 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