Narzędzie do tworzenia czcionek bitmapowych z czcionek prawdziwego typu [zamknięte]

26

Jakiego narzędzia używasz do konwertowania czcionek ttf na czcionki bitmapowe?

Poniżej znajduje się lista funkcji, których szukam. Byłbym naprawdę zadowolony z każdego narzędzia, ale takie, które miałoby te funkcje, byłoby lepsze.

  • generuje atlas tekstur power-of-2
  • możliwy do przetworzenia plik konfiguracyjny (więc nie muszę używać ich biblioteki renderowania)
  • wypisuje informacje o kerningu
  • między platformami
  • biblioteka renderująca byłaby świetna, gdyby pozwalała mi na wykonywanie rzeczywistych wywołań OpenGL.

Więc jakiego narzędzia użyłeś? Czy byłeś z tego zadowolony?

deft_code
źródło
Wspominałem o wielu platformach podczas programowania na maszynie z systemem Linux. Robię podwójne uruchamianie systemu Windows7, więc mogę grać w gry, ale generalnie tam nie rozwijam.
deft_code

Odpowiedzi:

19

Konstruktor czcionek

Font Builder robi prawie wszystko, czego potrzebuję. Zarówno Font Studio, jak i BMFont Angel Code i wykonują podobne zadania. Oto niektóre funkcje Konstruktorów czcionek.

  • Aplikacja QT, więc działa równie dobrze na wszystkich platformach.
  • Open source, aby w razie potrzeby łatwo rozszerzyć aplikację
  • Zaprojektowany, aby umożliwić eksporterom niestandardowych obrazów i opisów (układów), co jeszcze bardziej ułatwia rozszerzenie
  • Ładuje czcionki z systemu plików zamiast rejestru systemu Windows. Ułatwia to generowanie czcionek tekstur z własnych TTF.
  • Automatycznie dopasowuje rozmiar końcowego obrazu, więc nie muszę zgadywać (jak w FontStudio). Co więcej, te tekstury mogą być ograniczone do mocy 2 rozmiarów.
  • Obsługiwane są pary kerningu, dzięki czemu informacje mogą być eksportowane, jeśli używa ich TTF.

Jednak nie wszystko jest idealne. Domyślne wtyczki układu są do bani. Narzędzie do układania ramek wypełnia teksturę od lewego górnego do prawego dolnego rogu, używając znaków alfabetycznych. Niezbyt wydajny. Zmieniłem go, aby najpierw posortować znaki według wysokości i szybko poprawiłem jego wydajność (zmiana o 2 linie).

deft_code
źródło
BmFont spełnia swoje zadanie, miał dobre opcje i mogę używać tekstury o rozmiarze większym niż 128 x 128, dzięki Tylko potrzebne było właściwe ustawienie eksportu, takie jak tekstura png i 32-bitowy typ czcionki
Diljeet
10

Google pokazało sporo tych bestii. Może to być zbliżone do tego, czego szukasz
http://www.angelcode.com/products/bmfont/

Wspominasz o wielu platformach, ale czy masz na myśli narzędzie czy wynik? (który byłby wieloplatformowy, może oprócz endianizmu)

Kaj
źródło
Świetne narzędzie, ale generuje tylko bitmapy z czcionek systemowych. Mam konkretny plik TTF, którego chciałbym użyć. Ponadto nie bardzo lubi wino.
deft_code,
8
Nie możesz dodać TTF jako czcionki systemowej?
Kaj
4

Wypróbuj FontStudio: http://www.ogre3d.org/forums/viewtopic.php?f=11&t=47802

Jest stworzony specjalnie do tworzenia czcionek bitmapowych do gier.

Zamieszczam link do forum Ogre3D, ponieważ obecnie nie ma własnego domu.

Znajdź link do najnowszej wersji w ostatnim poście tego tematu (strona 2).

jacmoe
źródło
Świetne narzędzie, ale generuje tylko bitmapy z czcionek systemowych. Mam konkretny plik TTF, którego chciałbym użyć.
deft_code
1
Hej, jestem twórcą Font Studio, umieściłem źródło Font Studio na bitbucket. bitbucket.org/michael_pote/font-studio
Mikepote
2

W przeszłości korzystałem z tego narzędzia: http://www.lmnopc.com/bitmapfontbuilder/ . Działa naprawdę ładnie i ma wiele opcji

Ropucha
źródło
1
To wygląda obiecująco. Jednak nie jest darmowy do użytku komercyjnego. Wersja komercyjna jest dostępna za 20-30 dolców.
deft_code
2

Istnieje wiele skomplikowanych i bogatych w funkcje narzędzi, ale moim ulubionym narzędziem do budowania czcionek bitmapowych jest Generator czcionek bitmapowych Codehead (CBFG) . To proste narzędzie, które robi jedną rzecz bardzo dobrze. Jest to wyraźnie udokumentowane wskazówkami dotyczącymi wdrażania.

Podobnie jak większość twórców czcionek bitmapowych, jest ona oczywiście niezależna od API grafiki, ponieważ po prostu eksportuje obraz (i łatwą do odczytu strukturę danych). Jednak wdrożenie własnego systemu renderowania tekstu, w OpenGL lub Direct3D, nie jest zbyt trudne - renderuj quad dla każdej litery i zastosuj teksturę czcionki bitmapy z odpowiednimi współrzędnymi.

Mam nadzieję, że to pomoże!

Uwaga: jest to tylko aplikacja Win32, ale nadal ją polecam!

pogłos
źródło
2

Świetnym narzędziem dla systemu Mac jest Glyph Designer i stał się narzędziem wybieranym przez użytkowników Cocos2D. Ma wiele funkcji, a ostatnio został zaktualizowany o obsługę wiersza poleceń!

Tom Bradley
źródło
9
Ogólnie uważa się, że jest to kiepska forma, aby nie ujawniać jasno swojego związku z polecanymi przez Ciebie produktami.
Josh
1

Ostatnim razem, gdy szukałem tego (dla gry na iPhone'a), wypróbowałem różne opcje, ale nie mogłem znaleźć takiej, która zrobiłaby wszystko, co chciałem. Musiałem wyrenderować pojedynczą teksturę przy użyciu bardzo małych znaków z komercyjnej czcionki TTF. Musiałem być w stanie określić zakresy znaków, aby zawierały tylko te znaki, których potrzebowałem. Chciałem, żeby spakował glify tak mocno, jak to możliwe. Potrzebowałem współrzędnych tekstury w czasie wykonywania. Nie przejmowałem się „prawdziwym” kerningiem, ale potrzebowałem pomiarów glifów w czasie wykonywania, aby było rozsądnie rozmieszczone. Napisałem więc małą aplikację dla systemu Windows, która renderowała wszystkie znaki i zapisywała odstępy ABC (zgłaszane przez Windows) wraz ze współrzędnymi tekstury.

BTW, jeśli chcesz renderować bardzo mały tekst (np. Mniej niż 16 pikseli wysokości) w XP lub Vista, będziesz mieć niedociągnięcia w antyaliasingu Windows. Łatwym rozwiązaniem było dla mnie użycie http://drwatson.nobody.jp/gdi++/index-en.html w celu uzyskania przezroczystego supersamplingu. Gdybym zaczynał od nowa, prawdopodobnie zastosowałbym to samo podejście, ale spojrzałbym na FreeType2 zamiast natywnego renderowania tekstu.

Jeśli twój tekst nie jest często aktualizowany, możesz po prostu użyć renderowania tekstu platformy (lub może FreeType), aby wyrenderować całe fragmenty tekstury w razie potrzeby w czasie wykonywania. Następnie wystarczy wyrenderować pojedynczy quad dla każdego ciągu, ale przydzielanie tekstur staje się bardziej skomplikowane. Zaletą jest jednak bezbłędne renderowanie i układ tekstu w tych trudnych językach azjatyckich wraz ze znacznie szybszym kodem GL. Renderowanie wielu pojedynczych postaci jest drogie, nawet przy zdegenerowanych paskach tri i tak dalej.

BRaffle
źródło
1

Na Macu możesz używać Hiero ( http://slick.cokeandcode.com/demos/hiero.jnlp ), o ile wiem. Nie jest tak potężny jak powyżej, ale przy odrobinie magii Photoshopa zrobi to.

martinpi
źródło
Mogę tylko zniechęcić Hiero. Kiedy go używałem, zawsze było o kilka pikseli mniej. Testowany z kilkoma czcionkami. Ale myślę, że nie ma innego rozwiązania OSX.
martinpi,
0

Szukanym słowem kluczowym jest „rasterizer”. XNA ma jeden wbudowany. Szybkie wyszukiwanie w Google wywołuje FreeType . Nie jestem pewien, co jeszcze tam jest.

hojny
źródło
2
FreeType jest bardziej „biblioteką rasteryzacji czcionek”. To nie jest dokładnie aplikacja, która tworzy tekstury (o sile 2) z czcionek. FreeType byłby dobrym wyborem, gdybyś sam zdecydował się napisać takie narzędzie.
bummzack
0

Jeśli potrzebujesz interaktywnego narzędzia, możesz rzucić okiem na FontForge , który jest pełnym edytorem czcionek obsługującym różne narzędzia do konwersji czcionek TTF na formaty bitmap. Obsługuje różne typy skryptów, więc powinieneś być w stanie zintegrować go również z potokiem.

Ben Zeigler
źródło
1
AFAIK FontForge może tworzyć czcionki bitmapowe, ale zasadniczo różnią się one od potrzeb OP. Czcionka bitmapowa jest jak plik czcionki, ale zawiera mapy bitowe (najlepiej w różnych rozmiarach) dla każdego znaku. Potrzebuje czcionki do renderowania na teksturę, więc wynik nie będzie czcionką bitmapową, ale obrazem.
bummzack
0

został wydany nowy generator czcionek bitmapowych dla OS X: bmGlyph (http://www.bmglyph.com). dostępne tylko w Mac App Store. ouputs atlas czcionek i bitmapy (HD / SD) z wieloma funkcjami.

squeraud
źródło