Uneori, în practica de programare trebuie să vă creați propriul generator de caractere. Și dacă scrierea codului nu prezintă nici o dificultate, atunci întrebarea unde să se obțină date care descriu imaginile simbolurilor poate constitui o problemă. Cu ajutorul programelor oferite este posibilă obținerea unei reprezentări de cod, nu numai a fonturilor, ci și a oricăror imagini alb-negru.
Orice program care emite text pe ecran (de la Notepad la Photoshop) este potrivit pentru a desena caractere, dar cel mai mult îmi place managerul de fișiere FAR - există mai multe motive pentru acest lucru. În primul rând, FAR (ca fragment al timpului DOS), "închis" sub textul "monospațiu", adică toate caracterele de ieșire vor avea aceeași lățime. În al doilea rând, când se specifică fonturile (în proprietățile ferestrei MS-DOS în care rulează programul), se va afișa înălțimea și lățimea simbolului, ceea ce va permite (vezi figura) să se potrivească dimensiunii cu formatul dorit. Dimensiunile fonturilor intermediare sunt stabilite prin introducerea lor directă în câmpul corespunzător. În al treilea rând, managerul Far permite folosirea atât a caracterelor ruse codate de Windows, cât și DOS (comutatoarele cu tasta F8, urmând doar poziția corectă a acestui comutator!).
Programele convertoare oferite lucrează cu formatul grafic bmp, efectuează scanarea liniei (de la stânga la dreapta) și codifică șirurile de date formate în conformitate cu cerințele compilatoarelor. Ieșirea este un fișier text simplu care poate fi conectat la proiect. Cerința pentru o imagine este că trebuie să aibă două gradări de luminozitate (alb-negru) și să fie un multiplu de 8.
Programele au fost scrise pentru ele însele, în conformitate cu cerințele momentului actual și, prin urmare, nu caută referințe în ceea ce privește munca și alte delicatese (poate că în viitor vor ajunge în mâinile lor înainte de a scrie un singur program universal). De asemenea, am reamintit necesitatea de a verifica totul descărcat de pe Internet pentru modulele virușilor și a programelor spyware, precum și principiul "ia-l așa cum este - totul este la risc și pericol".
Pixelii nu se amestecă și sunt traduse în timp ce merg în vrac în fișierul sursă (linia de linie de la stânga la dreapta). Prin urmare, dacă imaginea este o serie orizontală de caractere, atunci mai întâi trebuie să treceți primele linii ale tuturor caracterelor, apoi a doua, etc. Această ordine este optimă pentru implementarea majorității generatoarelor de caractere (ghiciți de ce!), Dar nimic nu împiedică plasarea simbolurilor cu o coloană și obținerea unei alternări diferite - mai întâi toate liniile primului caracter, apoi cel de-al doilea. Mai jos este un exemplu de fișier grafic care poate fi "alimentat" în program.
Indiferent dacă este vorba de a include caracterele zonei de serviciu din set (cu codurile 0. 31), vă stau la dispoziție. În unele cazuri (de exemplu, atunci când lucrați cu LCD-uri grafice) imaginea ar trebui să fie afișată nu în rânduri, ci în coloane. Sper că ați ghicit deja că în acest caz trebuie să rotiți imaginea la 90 de grade și, eventual, oglindați-o.
Exemplu de font (dimensiune caracter 8 x 10 pixeli)
Programe în arhive:
Convert3_psoc_8.rar (119 kB) - pentru simboluri cu o lățime de 8 (și de asemenea 16, 24, etc.) puncte.
Rezultatul lucrării este liniile "DB" în format binar de 8 biți, potrivite pentru inserarea directă în textul de asamblare.
Ordinea biților este "LSB first" (bitul cel mai puțin semnificativ merge mai întâi, adică bitul 0 în byte corespunde pixelului din stânga).
Lățimea imaginii originale în pixeli ar trebui să fie un multiplu al lățimii simbolului.
Convert3_arm_8.rar (117 kB) - pentru simboluri cu o lățime de 8 puncte.
Rezultatul este octeți în format HEX, potrivit pentru inserarea în textul "C".
Ordinea biților este "MSB primul" (bitul 7 în octet corespunde pixelului din stânga).
Lățimea imaginii originale trebuie să fie un multiplu de 8.
Convert3_arm_16.rar (114 kB) - pentru caracterele cu o lățime de 16 puncte.
La fel ca Convert3_arm_8.rar, dar constantele nu sunt 8-, ci 16-biți (bitul 15 corespunde pixelului din stânga).
Lățimea imaginii originale trebuie să fie mai mare de 16.
observații:
1. Fișiere în arhive:
- Convert.exe - programul în sine.
- Font.txt - toate caracterele aflate în cod ascendent (pornind de la 32 de spațiu și până la 255), pentru a le afișa pe ecran. Dacă nu se potrivesc, împărțiți în mai multe rânduri, urmate de "lipirea" fragmentelor.
- * .bmp este un exemplu de fișier de intrare.
- * .txt este rezultatul lucrării.
2. Managerul Far trebuie să ruleze în mod fereastră (nu pe ecran complet!).
3. În cazul în care caracterele se "rup" marginile, înseamnă că în Windows "modul de netezire fonturile de ecran" este activat. Pentru timpul de capturare a imaginilor, trebuie să fie oprit, așa cum se arată în imaginea de mai jos:
Proprietăți afișare -> Aspect -> Efecte