2011-04-10 19 views
7

Subpikselowe renderowanie czcionek, takie jak ClearType, znacznie poprawia rozdzielczość wyświetlania czcionek i poprawia czytelność ekranu. Jak mógłbym programować renderowanie subpikselowe czcionki (ogólnie) i jak można to osiągnąć na iPadzie (C, C++ lub Objective-C na urządzeniu z systemem iOS)? Czcionki są dość rozmyte w niektórych rozmiarach na iPadzie i wiem, że wyświetlacz iPada dobrze by działał z tą techniką ...Renderowanie subpikselowe czcionek na iPadzie

Jak więc opracować silnik renderujący czcionki dla iPada (np. dostęp subpiksele? Czy używam OpenGL? Czy istnieje mechanizm renderowania czcionek Open Source napisany w C, C++ lub Objective-C dla Mac OS X?)?

Odpowiedz

14

Każdy piksel na iPadzie to prostokąt składający się z elementów: czerwonego, zielonego i niebieskiego, więc można by pomyśleć, że subpikselowy rendering czcionki będzie dobrym wyborem dla urządzenia.

Należy jednak pamiętać, że to urządzenie można łatwo zmienić z portretu na krajobraz, a aplikacje powinny reagować na tę zmianę. Sugerowałoby to, że mechanizm czcionki subpikselowej również musiałby reagować na tę zmianę, a do każdej czcionki potrzebne byłyby dwa oddzielne podpikselowe opisy.

Teraz trzeba dodać, że programiści oczekują możliwości pisania uniwersalnych aplikacji uruchamianych na padzie i telefonach w ramach jednego zakupu/pobrania. Ale spójrz na różne konfiguracje pikseli w różnych generacjach telefonów na obrazku poniżej. Każda z nich, przypominając, musiałaby inaczej opisywać czcionki w trybie pionowym i trybie poziomym. Teraz masz eksplozję opisów czcionek.

Przypomnijmy teraz, że mówimy o urządzeniach przenośnych, w których najcenniejszym zasobem jest akumulator, a renderowanie czcionek subpikselowych jest bardziej intensywne obliczeniowo.

Zgaduję, że nie różni się to zbytnio od procesu myślowego, który doprowadził Apple do rezygnacji z subpikselowego renderowania czcionek na korzyść nadziei, że technologia wyświetlania zwiększa gęstość pikseli do punktu, w którym nie jest już potrzebna (siatkówka) wyświetlanie na iPhonie 4 będącym pierwszym krokiem w tym kierunku.)

Założę się, że w jakiejś przyszłej edycji iPada, będziemy mieli wyświetlacz o podobnej gęstości i nie będzie to miało większego znaczenia. Jakikolwiek wysiłek, który zainwestujesz, próbując wymyślić mechanizm renderowania czcionek subpikselowych dla aplikacji na iPada, natychmiast zostanie usunięty, więc nie polecałbym tej ścieżki.

enter image description here

+0

Jeżeli aktywa są wektor (jak tekst? Czcionki?) Nie jest obliczanie sub umieszczenia pikseli automatyczny/matematyczny? Czy jestem w błędzie? –

+3

To brzmi jak decyzja wdrożeniowa. Można albo mieć 4 reprezentacje na dysku, albo obliczać 4 reprezentacje w czasie instalacji (i przechowywać je na dysku) lub obliczać 4 reprezentacje, gdy czcionka ładuje się do pamięci lub leniwie oblicza reprezentacje, gdy urządzenie reaguje na zmianę orientacji. Bez względu na to, co wybierzesz, przenosisz koszty z jednego miejsca do drugiego, nie pozbawiając się go. Każde z nich może nie być najbardziej rozsądnym wykorzystaniem zasobów w mobilnym świecie, w którym pamięć, procesor i procesor powinny być używane w sposób oszczędny. – pohl