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 En ligne Administrateur Points: 24569 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


Précédente 1, 2, 3, 4
Neiviv-ui Hors ligne Membre Points: 29 Défis: 0 Message

Citer : Posté le 01/05/2021 21:14 | #


Lephenixnoir a écrit :
Je doute que tu aies la possibilité d'économiser une colonne right ? Même si c'est le cas, uf5x7 n'est pas proportionnelle donc cet espace sera préservé. Si tu voulais avoir cet effet dans une police proportionnelle, tu peux simplement mettre quelques pixels gris à droite du glyphe ; cela signalera à fxconv que le glyphe s'étend sur la droite (puisque fxconv ne coupe les glyphes qu'aux parties blanches) mais qu'il n'y a aucun pixel à afficher (puisque fxconv n'encode dans la police que les pixels noirs).


Exact, j'ai rien dit, c'était une illusion (un effet Placebo je crois)
Neiviv-ui Hors ligne Membre Points: 29 Défis: 0 Message

Citer : Posté le 02/05/2021 15:25 | # | Fichier joint


Je poste ici mais j'ai mis les détails dans la PR :
Le gestionnaire de font de Gint a visiblement un problème dans le cas où un caractère est constitué de deux caractères séparés (eg. な゙, composé de な et de ゛). Du coup la question est : "Est-ce qu'il faut ajouter cette fonction, sachant qu'elle ne fonctionnerait pas puisque les glyphes de chaque caractère remplissent déjà au maximum l'espace, où juste (à mon avis la meilleure solution) modifier les caractères qui se superposent aux autres (au nombre de deux, et apparemment inutilisés) de manière à ce qu'ils soient écrits à la suite, mais générant quand même le caractère final attendu, sur deux emplacements de caractères, mais ce n'est pas plus mal vu la taille de ces derniers.

Sinon je joins quand même la police hiragana, clairement pas finie mais tout de même lisible.
Neiviv-ui Hors ligne Membre Points: 29 Défis: 0 Message

Citer : Posté le 27/06/2021 16:16 | # | Fichier joint


Salut,

J'ai rapidement essayé de faire les flèches pour la uf8x9 mais vu que la densité de pixel de la graph90 est exotique, le rendu (que je trouve bon sur graph mono) est peut-être biaisé. Je met le bloc en pièce jointe, mais je vais me cantonner à la police uf5x7 pour l'instant.

Après il y a quand même plusieurs choses que je ne comprends pas, à commencer par le fait que :
la police s'appelle uf8x9 mais est au format 8x11 (?), ce qui induit que je ne comprends pas non plus cette histoire de
uf8x9:
  [...]
  grid.size: 8x11
  [...]
  proportional: true ?
  height: 9 ?


et la deuxième chose qui me pose problème est la suivante :
Dans uf5x7.png et uf8x9.png, le premier bloc est indiqué comme allant respectivement de "U+0020 -- U+007F" et "U+0020 -- U+009F", pourtant il semblerait que ceux-ci soient exactement les mêmes (?).

uf5x7.png -------- uf8x9.png

En tout cas le bloc des flèches est parfaitement réutilisable, si quelqu'un veut se baser dessus, libre à lui (je ne sais pas quel licence désigne ce genre de "restrictions" donc je fais sans).

Tout ça pour dire que je vais finir le cyrillique pour la uf5x7 .
Lephenixnoir En ligne Administrateur Points: 24569 Défis: 170 Message

Citer : Posté le 27/06/2021 17:06 | #


J'ai rapidement essayé de faire les flèches pour la uf8x9 mais vu que la densité de pixel de la graph90 est exotique, le rendu (que je trouve bon sur graph mono) est peut-être biaisé. Je met le bloc en pièce jointe, mais je vais me cantonner à la police uf5x7 pour l'instant.

Zut, j'avais déjà fait les flèches en local, ça fait du travail en double. J'ai poussé le bloc. J'ai trouvé aussi que c'était pas un format hyper pratique, mais visiblement on a fait des choses vraiment très proches, à part que j'ai fait des pointes non triangulaires quand c'était possible (pour le style) et une poignée d'autres différences. :x

J'ai commencé U+2200 aussi, mais ça se passe pas hyper bien, donc pour l'instant j'ai pas forcé. Il n'y pas d'autre bloc en attente.

la police s'appelle uf8x9 mais est au format 8x11 (?),

Le 11 c'est pour les virgules, g, y etc. qui descendent en-dessous de la baseline. La hauteur naturelle c'est bien 9, et la largeur "générique" (vu que c'est proportionnel) c'est 8. grid.size correspond juste à l'arrangement visuel des glyphes, et oui ça va jusqu'à 11 quand il y a des pixels sous la baseline ; height c'est la taille du stockage, là aussi il faut compter 11 pour ces quelques caractères spéciaux.

:here; Dans uf5x7.png et uf8x9.png, le premier bloc est indiqué comme allant respectivement de "U+0020 -- U+007F" et "U+0020 -- U+009F", pourtant il semblerait que ceux-ci soient exactement les mêmes (?).

C'était un bug dans le script qui génère l'image complète ; il comptait les glyphes par le nombre de colonnes (fixé à 16) et de lignes (en divisant par la hauteur des glyphes) mais hardcodait la hauteur de uf5x7. Comme il n'y a pas de façon élégante de déterminer la hauteur de la grille directement, j'ai juste supprimé le numéro de fin (on l'a dans le README de toute façon).

Tout ça pour dire que je vais finir le cyrillique pour la uf5x7 .

Merci !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Neiviv-ui Hors ligne Membre Points: 29 Défis: 0 Message

Citer : Posté le 27/06/2021 21:36 | # | Fichier joint


Lephenixnoir a écrit :
Zut, j'avais déjà fait les flèches en local, ça fait du travail en double. J'ai poussé le bloc. J'ai trouvé aussi que c'était pas un format hyper pratique, mais visiblement on a fait des choses vraiment très proches, à part que j'ai fait des pointes non triangulaires quand c'était possible (pour le style) et une poignée d'autres différences. :x

Ça c'est du travail d'équipe !!!

Plus sérieusement c'est pas bien grave (de toute façon j'y avais pas passé beaucoup de temps, et ta version me semble meilleure), et de ce que j'ai pu lire sur la bible, on (la commu CASIO) en n'est pas à notre coup d'essai en terme de travail fait en double car non mis en commun .

Au sujet du cyrillique, je ne reviens pas sur ce que j'ai dit, je le ferai, mais j'avoue que ça ne me tentait pas tout à l'heure, donc j'ai fait l'esquisse du bloc de phonétique (comme pour celui des flèches, en espérant que celui-ci n'a pas déjà été fait). Je garde quand même en tête que la partie restante (du bloc cyrillique) ne sera pas des plus simples et va demander un certain temps avant d'être complétée (je ne garantie donc pas de tout faire, mais je vais tout de même essayer d'en faire une bonne partie).

ps : merci pour les éclairages sur les dimensions de la police uf8x9.
Neiviv-ui Hors ligne Membre Points: 29 Défis: 0 Message

Citer : Posté le 28/06/2021 00:02 | # | Fichier joint


De retour ! pour vous jouer de mauvais tours...

J'ai bien avancé sur le bloc cyrillique, mais encore une fois je ne peux pas parler de quelque chose de définitif :
Il manque des caractères.
J'ai remarqué, que ça soit les flèches, l'alphabet phonétique, ou encore le cyrillique (surtout les deux derniers en fait) que je ne trouve jamais mon résultat comme correct. En effet, à la différence des blocs japonais où j'ai pu dessiner les caractères en fonction de ce à quoi ils ressemblent vraiment (la version d'un ordinateur n'est pas forcément correcte ex: image ci-jointe : l'écriture informatisée est prohibée et considérée comme incorrecte sur n'importe quelle copie), je n'ai aucune idée de la véritable écriture des caractères d'autres alphabets, que ce soit les détails qui permettent aux gens qui les lisent de repérer rapidement quelle lettre est laquelle, ou ceux qui ne sont que des ajouts de style spécifiques à la police de mon ordinateur.

En tout cas je trouve quand même qu'au vu de la complexité des caractères, je ne m'en suis pas trop mal sorti.
Neiviv-ui Hors ligne Membre Points: 29 Défis: 0 Message

Citer : Posté le 28/06/2021 00:03 | # | Fichier joint


Avec la police c'est mieux
Lephenixnoir En ligne Administrateur Points: 24569 Défis: 170 Message

Citer : Posté le 28/06/2021 09:15 | #


C'est pas si mal honnêtement ! Si tu veux faire apparaître les informations importantes tu peux comparer l'écriture dans différences polices. En particulier je peux te conseiller de consulter les caractères avec une police sans-serif, ça te donnera moins de détails inutiles à dessiner pour certains caractères.

À part ça, c'est propre. Éventuellement fais attention à ce que les majuscules (U+048E) soient plus petites que les minuscules (U+048F), et je pense que les caractères moins larges (U+049F, U+04EF) devraient être centrés.

Quand tu penses que c'est bon fais la PR, je suivrai :3
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Neiviv-ui Hors ligne Membre Points: 29 Défis: 0 Message

Citer : Posté le 28/06/2021 10:55 | #


Lephenixnoir a écrit :
majuscules (U+048E) soient plus petites que les minuscules (U+048F)

?

Je suppose que c'est l'inverse ?
En tout cas si ça l'est je suis plutôt carrément complètement d'accord, je m'étais juste basé sur ce que tu avais fait pour le bloc U+00A0, aux caractères ö (U+00F6) et Ö (U+00D6).
Lephenixnoir En ligne Administrateur Points: 24569 Défis: 170 Message

Citer : Posté le 28/06/2021 11:04 | #


Oui lol c'est l'inverse, actuellement la majuscule donne l'impression d'être plus petite.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 29/08/2022 15:26 | #


Comment l'utiliser avec C.Basic ?
Globalement, coder. Mal, mais coder.
Lephenixnoir En ligne Administrateur Points: 24569 Défis: 170 Message

Citer : Posté le 29/08/2022 15:27 | #


Voici ce que la doc dit à ce sujet : https://gitlab.com/sentaro21/cbasic/blob/master/FX/Manual_FR.txt#L2063-2090

Je n'en sais pas plus pour être honnête.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 29/08/2022 15:29 | #


"Une police externe peut être choisie pour les rendus de caractères ASCII" Nous c'est Unicode non ?
Globalement, coder. Mal, mais coder.
Lephenixnoir En ligne Administrateur Points: 24569 Défis: 170 Message

Citer : Posté le 29/08/2022 15:36 | #


C.Basic ne supporte que l'ASCII, les gaiji et les kata/kana, ça j'en suis certain.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 29/08/2022 16:20 | #


Oui mais vu que Unicode-fonts est Unicode ça ne vas pas marcher ?
Globalement, coder. Mal, mais coder.
Lephenixnoir En ligne Administrateur Points: 24569 Défis: 170 Message

Citer : Posté le 29/08/2022 16:28 | #


Tu peux extraire des blocs Unicode de ton choix et les utiliser comme gaiji/kata/kana (pas tous, y'a pas assez de place pour ça). La police ici ce n'est qu'un gros ensemble d'images noir et blanc et C.Basic a une fonctionnalité pour afficher des images noir et blanc via une police personnalisée... donc ultimement tu peux bien en faire ce que tu veux.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Précédente 1, 2, 3, 4

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 96 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