Zeichen mal anderes.. jemand ne idee



  • Hallo zusammmen,
    ich gebe in einm Programm meine Text so aus:

    /* Char = ' '    */
                      0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
                      0x0,0x0,0x0,0x0,
    
            /* Char = '!'    */
                      0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x10,0x0,0x0,
                      0x0,0x0,0x0,0x0,
    
            /* Char = '6'    */
                      0x0,0x78,0x84,0x80,0x80,0xf8,0x84,0x84,0x84,0x78,0x0,0x0,
                      0x0,0x0,0x0,0x0,
    

    wei0 jemand ob es sowas schon fetig irgendwo gibt.. den das ganze Alphabete so darzustellen wird ne arbeit 😞



  • Hi

    Lass mich raten, du darfst nen Zeichengenerator basteln?

    ich vor kutzen für ein projekt ein tool geschrieben, das aus truetype fonts bitmap fonts generiert hat. im prinzip ist sowas änliches wie bei dir rausgekommen. nur mit der halt für fonts mit variabler breite und nicht mit fester grösse 8x16. ist halt die frage wie oft du das machen must. nur einmal. dann kann mans ja riskieren, öfters ( verschiedene grössen verschiedene fonts,... ) währe ein tool ganz schön, nur das muss man dann leider selber schreiben.

    Vieleicht hilft dir das ein bischen. generier dir doch ein heder file in der für alle 256 möblichkeiten eines byts ein define hiterlegt ist in dem die bits mit einem X die nullen mit einem O hinterlegt sind.

    dann kanst du deine zeichen so kodiren

    #define 0x0000000 0
    #define 0x000000X 1
    #define 0xOXXXXXX 127
    #define 0xX000000 128
    #define 0xX00000X 129
    
    // !
    0xOOOOOOOO,
    0xOOOXXOOO,
    0xOOOXXOOO,
    0xOOOXXOOO,
    0xOOOXXOOO,
    0xOOOXXOOO,
    0xOOOXXOOO,
    0xOOOXXOOO,
    0xOOOXXOOO,
    0xOOOXXOOO,
    0xOOOOOOOO,
    0xOOOXXOOO,
    0xOOOXXOOO,
    0xOOOOOOOO,
    0xOOOOOOOO,
    0xOOOOOOOO,
    
    // Ö
    0xOOOOOOOO,
    0xOXXOOXXO,
    0xOXXOOXXO,
    0xOOOOOOOO,
    0xOOXXXXOO,
    0xOXXXXXXO,
    0xOXXOOXXO,
    0xOXXOOXXO,
    0xOXXOOXXO,
    0xOXXOOXXO,
    0xOXXXXXXO,
    0xOOXXXXOO,
    0xOOOOOOOO,
    0xOOOOOOOO,
    0xOOOOOOOO,
    

    zumindestens sieht man etwas ist zwar nicht im richtigen seitenverhältnis aber besser als nix

    gruss Termite



  • den teil versth ich irgendwie ned:

    Code:
    #define 0x0000000 0
    #define 0x000000X 1
    #define 0xOXXXXXX 127
    #define 0xX000000 128
    #define 0xX00000X 129

    nur mit der halt für fonts mit variabler breite und nicht mit fester grösse 8x16. ist halt die frage wie oft du das machen must. nur einmal. dann kann mans ja riskieren, öfters ( verschiedene grössen verschiedene fonts,... ) währe ein tool ganz schön, nur das muss man dann leider selber schreiben.

    Es wir einmal so einliste fertig geschrieben. dann dann werden diese auf den bildschirm geschrieben z.b bei Fehler meldungen usw..



  • Ich hab mich mal schlau gemacht :

    (8x16)

    /* Char = '$'    */
                      0x0,0x10,0x3c,0x50,0x50,0x38,0x14,0x14,0x78,0x10,0x0,0x0,
                      0x0,0x0,0x0,0x0,
    
    	00000000 = 0x0
    	00101000 = 0x10
    	00101000 = 0x3c
    	00101000 = 0x50
    	01111100 = 0x50
    	00101000 = 0x38
    	01111100 = 0x14
    	00101000 = 0x14
    	00101000 = 0x78
    	00101000 = 0x10
    	00000000 = 0x0
    	00000000 = 0x0
    	00000000 = 0x0
    	00000000 = 0x0
    	00000000 = 0x0
    	00000000 = 0x0
    

    also:

    128  64  32  16   8  4  2  1
    -----------------------------
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    0    0   0    0   0  0  0  0 = 0x
    

Anmelden zum Antworten