Caractères superposés ?

Je travaille sur un projet de lecteur de bandes perforées télétype, donc en ASCII 7bits. Sur ces machines, pour imprimer un ô ont perforait sur la bande les trois caractères o,BS,^ Bien sur le résultat n'est pas très joli, mais on obtient bien un ô. BS= BackSpace, ce qui oblige le chariot à  reculer d'un caractère et le caractère suivant s'imprime sur le caractère précédent.

Je voudrais faire la même chose sur l'écran du démonstrateur, mais je ne vois pas comment dessiner deux caractères l'un sur l'autre. Y-a-t-il une solution pour faire cela?

Réponses

  • DrakenDraken Membre
    avril 2012 modifié #2
    Oui, en affichant chaque caractère individuellement à  une position (x,y) dans un contexte graphique.



    NSString contient plusieurs méthodes pour dessiner un caractère :



    - drawAtPoint:

    - drawInRect:

    - drawWithRect:



    Plus d'infos => ici.



    En gros, il faut écrire une méthode d'affichage personnalisée, comme à  l'époque héroà¯que.
  • Je ne connais pas vraiment ça, je vais donc retourner lire.

    J'avais trouvé une autre solution: remplacer le couple "BS,caractère" par le diacritique correspondant s'il existe.

    Malheureusement ça ne marche pas avec tout les caractères car les diacritiques sont en nombre limités. Je vais donc explorer ta solution.
  • AliGatorAliGator Membre, Modérateur
    Normalement avec Unicode c'est prévu, avec les caractères décomposés (et non les précomposés), non ?

    Bon j'ai jamais essayé explicitement ceci dit, mais je ne vois pas ce qui l'empêcherai. Et au pire oui tu dessines ta diacritique au point X,Y
Connectez-vous ou Inscrivez-vous pour répondre.