Jak dodać polskie znaki do dowolnej czcionki
Ile razy zdarzyła Ci się taka sytuacja: Znajdujesz tego idealnego, jedynego fonta który pięknie pasuje do twojego projektu a tu zamiast Ą wyskakują Ci jakieś krzaczki? Niestety wiele zagranicznych fontów nie posiada polskich znaków diakrytycznych, a wybór spolszczonych jest niewielki. Dzisiaj pokażę CI jak dodać nieistniejące znaki do czcionki.
Instalujemy niezbędne oprogramowanie
Aby dodać polskie znaki diakrytyczne potrzebny nam jest edytor czcionek, do wyboru jest wiele, darmowych i płatnych. Ja osobiście polecam FontForge. Jest to program OpenSource napisany dla systemu operacyjnego Linux. Nie należy się tym przejmować ponieważ deweloper przewidział możliwość instalacji na platformie Windows.
Aby program ruszył w Windows potrzebujemy zainstalować emulator środowiska Linuksa, program Cygwin. Pobieramy go z strony http://cygwin.com/ i rozpoczynamy proces instalacji. Program zapyta nas o ścieżkę programu, rodzaj instalacji, serwer pobierania i w końcu o wybór paczek do zainstalowania. Prędkość instalacji zależy głównie od wybranego serwera i naszego łącza. Ja polecam niemiecki i irlandzkie serwery FTP. Aby FontForge działał poprawnie należy zainstalować:
- podstawowe pliki programu
- system X Windows
- binutils
- lbng et libxm12
- X11
- X-startup-scriptsm
- XFree86-lib-compat
- xorg-x11-base
- xorg-x11-bin
- xorg-x11-dlls
- xorg-x11-lndir
- xorg-x11-etc
- xorg-x11-f100
- xorg-x11-libs-data
Niezaawansowani użytkownicy albo osoby które nie mają czasu i ochoty bawić się w dobieranie paczek mogą zwyczajnie zaznaczyć opcje instalacji wszystkiego, potrwa to trochę dłużej i zajmuje około 6GB miejsca na dysku.
Następnie należy pobrać paczki instalacyjne programu FontForge z strony http://fontforge.sourceforge.net/. Pobieramy pliki przeznaczone dla Cygwina czyli: fontforge_cygwin-20090914.tar.bz2. Paczkę tą należy pobrać do katalogu programu Cygwin. Domyślnie jest to: C:\cygwin\home\<username> (<username> to twoja nazwa użytkownika).
Teraz należy uruchomić Cygwina (w menu START i na pulpicie pod nazwą CygwinBashShell, ścieżka na dysku C: \cygwin\Cygwin.bat). Pojawi nam się okno konsoli. Wklepujemy w niej kolejno (z pominięciem znaku $):
$ tar xjf fontforge_cygwin-*.tar.bz2
$ cd fontforge
$ ./doinstall
Cygwin kolejno rozpakowuje FontForge, wchodzi do jego katalogu a następnie go instaluje (te operację wykonujemy tylko raz).
Aby zainicjować program trzeba za każdym razem uruchomić serwer XWin, (w menu START i na pulpicie pod nazwą XWin Server, ścieżka na dysku C:\cygwin\bin\ run.exe). Gdyby konsola nie chciała się od razu uruchomić konieczne jest wcześniejsze zainicjowanie procesu RXVT, (w menu START i na pulpicie pod nazwą rxvt-x, ścieżka na dysku C:\cygwin\bin\ rxvt.exe, nie powoduje to jednak pojawienia się nowego okna tylko nowy proces systemowy ). W konsoli wklepujemy polecenie:
$twm & fontforge –new
co uruchomi nam FontForge. Pamiętać należy że aby korzystać z programu serwer zawsze musi być uruchomiony.
Rozpoczynamy pracę z FontForge
Jeśli chodzi o sam program to charakteryzuje go bardzo prosta szata graficzna. Po uruchomieniu widzimy ekran powitalny oraz okno z nową czcionką. Za pomocą File->Open możemy otworzyć dowolny plik czcionki. Tu uwaga, wszystkie aplikacje uruchomione za pomocą konsoli Cygwin mają dostęp jedynie do tych elementów które znajdują się w katalogu C:/Cywin/ na dysku. Czcionki do edycji trzeba w nim umieścić, najbezpieczniej jest korzystać z katalogu Home (domyślnie C:/cygwin/home) gdyż jest on do tego przeznaczony.
Wczytujemy czcionkę jaką chcemy edytować:
Widzimy okno z czcionką
Miejsca zaznaczone na niebiesko to definiowane litery. Jak widać czcionka jest niepełna. Każdy symbol posiada własną unikalną nazwę oraz numer zależny od kodowania. Ja proponuje operować na Unicode. W nim elementy otrzymują numer w zapisie szesnastkowym. Polskie znaki w tablicy Unicode znajdują się na miejscach:
Litera |
Ą |
ą |
Ć |
ć |
Ę |
ę |
Ł |
ł |
Ń |
Kod |
104 |
105 |
106 |
107 |
118 |
119 |
141 |
142 |
143 |
Litera |
ń |
Ó |
ó |
Ś |
ś |
Ź |
ź |
Ż |
ż |
Kod |
144 |
D3 |
F3 |
15A |
15B |
179 |
17A |
17B |
17C |
Najprościej stworzyć nowe znaki dodając do skopiowanej litery przecinek, kropkę czy apostrof.
Zacznijmy od Ą. Wchodzimy w literę A klikając na nią dwukrotnie.
Zaznaczmy znak klikając na Edit->Select->Select All i kopiujemy Edit->Copy. Zamykamy i wchodzimy w miejsce tabeli odpowiadające literce Ą, czyli 104. Wklejamy literę Edit->Paste. Kolejnym krokiem jest otwarcie znaku przecinka i skopiowanie go a następnie przeklejenie do literki Ą. Ustawiamy go w pożądanym miejscu, a następnie usuwamy niepotrzebne elementy.
Litery są automatycznie uaktualniane w tablicy, nie wymagają zapisywania. Pozwala to na bieżąco obserwować zmiany na miniaturce Ą. Ostatnim krokiem jest połączenie elementów w jedną obwiednie. Pozwala nam na to wbudowana opcja scalania, Element->Overlap->Remove Overlap. Zaznaczamy elementy i dokonujemy połączenia. W podobny sposób dorzucamy pozostałe „ogonki”. Czasem program ma problemy z automatycznym połączeniem znaków, wtedy należy zrobić to ręcznie. Czcionki są zapisane w formacie wektorowym, a FontForge ma wiele narzędzi do ich edycji. Po dołożeniu wszystkich literek uzyskujemy taką tablice:
Teraz powstałą czcionkę należy zapisać, najlepszy do tego jest format TrueType. Wybieramy File->Generate Fonts… i zapisujemy naszą czcionkę. Teraz wystarczy tylko wgrać ją do systemu.
Oto Efekty:
Należy pamiętać że aby posiadać w systemie czcionkę przed i po modyfikacji należy zmienić nazwę nie tylko pliku podczas zapisu, ale i parametrów opisujących ją w FontForge (Element->Font Info).
Podsumowanie
Jak widać proces dodawania polskich znaków, nie jest trudny, a przygotowanie wszystkich zajęło mi około godziny czasu. Należy pamiętać o przeczytaniu licencji, na której udostępniona jest czcionka, którą chcemy modyfikować, gdyż jej edycja może być zabroniona.
Jeżeli jesteście zainteresowani podobnymi artykułami, opisującymi na przykład działanie programu FontForge i inne jego zastosowania, dajcie znać w komentarzach.
DyskusjaKomentarze: 20
Temat ciekawy. Niestety dla mnie kłopotliwy.
Problem:
1. Mam po polsku program i Element->Overlap->Remove Overlap po przetłumaczeniu nie mogę znaleźć. Jak brzmi po polsku odpowiednik Overlap?
2.Nie ma Element->Font Info. Czy chodzi o właściwości fontu? Jeśli tak to jakie parametry?
Otworzyłem plik font.ttf i nie mogę go zapisać. Czy dodaje nowe literki czy nie wyskakują błędy w postaci braku ekstremów. Wyskakują mimo, że np: nic nie modyfikowałem.
3. Jak należy poprawnie generować fonty?
4. Dlaczego ttf a nie woff ?
5. U mnie nie ma numeracji liter np: 104. Jak ją nastawić ?
Dodałem te ogonki itp ale co z tego skoro zapisany przeze mnie plik nie działa w przeglądarce.
Temat fajny. Proszę o rozwiniecie.
@Maciek: Z problemami z zapisu się nie spotkaliśmy, wszystko poszło gładko i bez żadnych ostrzeżeń. Jak będziesz miał chwilkę, to wrzuć treść tych ostrzeżeń, to zobaczymy czy uda się błąd powtórzyć lub coś poradzić.
Walczę od kilku dni z zagnieżdżeniem czcionki "Bebas Neue" pod Internet Explorera z polskimi znakami. Myślałem, że błąd jest w kodzie ale niestety tak nie jest.
Czcionkę "BebasNeue.ttf" z polskimi znakami przerabiałem konwerterami dostępnymi na kilku stronach - bez efektu.
Efekt podmiany czcionki zadziałał w momencie gdy użyłem pliku z innego źródła (waży mniej, nie 54KB a 16KB) , dokładnie stąd (http://www.3-d-art.ch/lib/fonts/sans-serif/bebas-neue/)
Czy problem wynika ze złej konwersji czy poprostu reguluje to zaszyta wewnątrz pliku czcionki licencja?
Paczka z http://www.cufonfonts.com/pl/font/35/bebas-neue działa bezproblemowo!
... dwa dni kombinowania ja pierdykam :) uff
Przypadek praktyczny: pobieramy jakieś ładne czcionki z Google Web Fonts i dodajemy ogonki a następnie... co? Eksportujemy do TTF pod inną nazwą? Co zrobić z polem dotyczącym praw autorskich? Zostawić autora oryginalnej wersji fontów czy może wpisać siebie (bo w końcu dokonało się modyfikacji)? Help :)
Potrzebuję aplikacji (najlepiej online) dzięki której mógłbym zmienić polską czcionkę na kursywą lub inny styl.
Niestety żadna ze znalezionych dotychczaas aplikacji nie zamienia polskich czcionek.
Na przykład Generator Kursywy na https://pl.piliapp.com/cool-text/cursive/.
Gdy wpisuję tekst:
Koń źle ciągnie!
Wychodzi
Dodaj komentarz Komentarze są moderowane, a przy linkach używane jest rel="nofollow". Prosimy o nie reklamowanie i nie spamowanie w komentarzach.
Linki tworzone za pomocą tagu [url] np: [url=www.xyz.pl]xyz[/url]
Źródła za pomoc tagu [code] z wskazaniem języka np. [code=php] echo [/code]