Aflați cititorul răcoros pentru a utiliza fonturile de sistem din ferestrele ms, blogul dezvoltatorului exl

Ceasul pe curbele Bezier Bezier este prima mea încercare de a cunoaște limba de programare QML și tehnologia Qt Quick. Aplicația este implementată ca o imagine de fundal animată pentru desktopul KDE Plasma 5 și ca aplicație independentă.

Portul meu al motorului de joc NXEngine este conceput pentru a rula jocul Cave Story pe o varietate de platforme, inclusiv Dingux și MotoMAGX. Dintre îmbunătățirile principale: abilitatea de a afișa imagini pe ecran lat, optimizarea sunetului și sprijin pentru Russification.


Aflați cititorul răcoros pentru a utiliza fonturile de sistem din ferestrele ms, blogul dezvoltatorului exl

Interfața programelor pentru citirea cărților electronice. FBReader și Cool Reader în sistemul de operare MS Windows 8.1 (clicabil)

În toți cititorii de cărți electronice, sunt obișnuit să folosesc Nokia Sans. Pentru mine, acest font condensat este cel mai preferabil pentru afișarea informațiilor de text în interfețe. Am instalat-o deja mult timp în sistem, dar nu există fișiere * .ttf rămase. Așadar, am decis să rescriu aplicația Cool Reader convenabilă pentru mine, adăugând posibilitatea utilizării tuturor fonturilor instalate în sistem.

După descărcarea codului sursă al programului, am intrat în studiul său. După o cană de cafea, a fost găsită funcția InitCREngine (). în care sa produs încărcarea fonturilor de sistem dintr-o rețea de caractere const char * fontnames []. În schimb, inițializarea de matrice, am decis să scrie un bloc de cod, scanați directorul «% Windir% \ Fonturi» recursiv sistem adăugând fonturi de format adecvat pentru o matrice * fontnames [].


Aflați cititorul răcoros pentru a utiliza fonturile de sistem din ferestrele ms, blogul dezvoltatorului exl

Array cu mai multe fonturi de sistem

Datorită cadrului Qt, acest lucru sa dovedit foarte ușor:

Acum, programul modificat trebuie să fie compilat pentru MS Windows. Dacă descărcați arhiva programului din site-ul oficial, puteți vedea că este compilată de compilatorul cl.exe. care vine cu MS Visual Studio. Pentru a lucra normal cu cadrul Qt din Visual Studio, trebuie să instalați o extensie specială. Având în vedere că programul Express-versiune nu acceptă instalarea de programe de completare, am decis să ia o șansă și să încerce să compilați cool Reader folosind GNU Compilatoare Collection (MinGW) și de dezvoltare Qt Creator IDE. În plus, Cool Reader, disponibil pentru descărcare de pe site-ul oficial, utilizează Qt 4.7.1, am cea mai recentă versiune din cea de-a patra ramură - Qt 4.8.5.

Pentru a compila cititorul, se utilizează CMake. lucrul cu acest sistem de construire cross-platform este deja furnizat în Creatorul Qt; CMake trebuie doar să descărcați și să instalați.

După ce am creat fișiere Makefiles, am început asamblarea proiectului. În mod surprinzător, el sa adunat sub Qt 4.8.5 și MinGW cu aproape fără schimbări și foarte repede. După ce am stabilit o singură eroare legată de compilatorul MinGW, am început să testez.

După cum era de așteptat, modificările mele la codul din program l-au ajutat să vadă toate fonturile sistemului.


Aflați cititorul răcoros pentru a utiliza fonturile de sistem din ferestrele ms, blogul dezvoltatorului exl

Fonturile disponibile în Cool Reader, după modificările efectuate

În această notă plină de bucurie, am decis să compilesc o versiune portabilă statică a programului. În timp ce mergea, am găsit un bug mic legat de afișarea unei baterii încărcate complet și l-am corectat repede.



S-a găsit greșeală care arată o baterie încărcată complet

După ce am rezolvat problemele legate de conectarea programului colectat în mod static, am decis să fac toate modificările într-un patch mic, pe care îl puteți lua de aici:
[=> DOWNLOAD | DOWNLOAD (

4 KB)

Aflați cititorul răcoros pentru a utiliza fonturile de sistem din ferestrele ms, blogul dezvoltatorului exl

Argumentul din CMake (evidențiat în oval roșu)

După generarea lui Makefiles, puteți începe să construiți programul. Compilarea trece cu succes pe Qt 4.8.5 și MinGW (4.6.2), pe celelalte versiuni ale compilatorului și cadrul, totul ar trebui să fie neted. Pentru a rezolva conflictele în timpul procesului de conectare, utilizați următoarele argumente:

- DUSE_QT_JPEG = 1 - DUSE_QT_ZLIB = 1 - DUSE_QT_PNG = 1

Dacă conectați static programul, nu uitați să scrieți:

- DCMAKE_EXE_LINKER_FLAGS. STRING = "-static-static-libgcc-static-libstdc ++"

Deci, obiectivul meu a fost realizat complet: în Cool Reader acum a fost posibil să se folosească orice * .ttf-font instalat în sistem.


Aflați cititorul răcoros pentru a utiliza fonturile de sistem din ferestrele ms, blogul dezvoltatorului exl

Programul Cool Reader, lansat în Windows 8.1; pentru afișarea textului se utilizează fonturi personalizate Nokia Sans

Descărcați asamblarea Cool Reader'a aici:
[=> DOWNLOAD | DOWNLOAD (5,3 MB, 7z-arhivă) DOWNLOAD | DESCĂRCARE (6.2 MB, 7z-arhivă) DOWNLOAD | DOWNLOAD (5.1 MB, 7z-arhivă)

Bună ziua, vă mulțumesc pentru feedback! Funcția este foarte interesantă, dacă am găsi timp liber și un canal care permite-mi să fure codul sursă din depozit Reader'a cool (acum am un Internet mobil foarte slabă), atunci voi încerca să fac punerea în aplicare a ideii.

Actualizați Reader'a de asamblare rece, cu posibilitatea de a folosi toate fonturile de sistem pentru versiunea 3.3.61 (cr3-win32-qt-opengl-3.3.61.zip)