Skip to main content

nook - zmiana czcionek systemowych

Odkąd poradziłem sobie z polskimi literkami w książkach (za pomocą czcionek zewnętrznych lub włączonych do książki) już tylko jedna rzecz denerwowała mnie w moim nooku. Brak polskich liter na liście książek i na pasku statusu.

Okazało się, że można to naprawić, ale wymaga to zrootowania nooka. Na szczęście, znalazłem jedną metodę, która jest prosta i wydaje się też być niezbyt inwazyjną.


UWAGA!


Opis dotyczy Nooka Classic i prawdopodobnie nie działa na nowszych czytnikach i tabletach Barnes & Noble.
Rootowaniem można nieźle nabroić (w szczególności zamienić czytnik w przycisk do papieru). Każdy robi to na własną odpowiedzialność!


Pod tym linkiem znajduje się opis pełnego procesu rootowania. Nie będę go tutaj powtarzał, wspomnę tylko, że w skrócie cała operacja polega na:

  1. wymuszeniu uruchomienia adbd na nooku (poprzez spowodowanie awarii przeglądarki WWW nooka - przez wchodzenie na specjalnie przygotowaną witrynę),
  2. podłączeniu się nookiem przez adb,
  3. uruchomienie rootkita,
  4. zmianach w pliku startującym nooka (by wymusić startowanie adbd przy każdym uruchomieniu systemu).

Metoda nie jest może bardzo wygodna - trzeba mieć odrobinę szczęścia by się wstrzelić w moment gdy adbd jest uruchomione i drugą odrobinę szczęścia by zdążyć z wymaganymi operacjami zanim proces adbd się złoży. Ale za to nie trzeba wachlowania kartami SD czy też nadpisywania firmware'u.

Po zroootowaniu można już zająć się czcionkami. Ze wszystkich czcionek systemowych (znajdujących się w katalogu /system/fonts czytnika) podmienić można tylko czcionki z rodziny helvetica. Ale to nie szkodzi, bo to właśnie one używane są w interfejsie.

$ adb shell ls -l /system/fonts/h*
-rw-rw-rw- root     root       131052 2012-03-08 01:08 helvetica_bold.ttf
-rw-rw-rw- root     root       129488 2012-03-08 01:08 helvetica_bold_italic.ttf
-rw-rw-rw- root     root       133424 2012-03-08 01:12 helvetica_medium.ttf
-rw-rw-rw- root     root       156180 2012-03-08 01:13 helvetica_medium_italic.ttf
-rw-rw-rw- root     root       133424 2012-03-08 01:12 helvetica_r.ttf
-rw-rw-rw- root     root       133424 2012-03-08 01:08 helvetica_roman.ttf
-rw-rw-rw- root     root       156180 2012-03-08 01:08 helvetica_roman_italic.ttf
$ 

Generalnie cała operacja polega na nadpisaniu powyższych plików plikami czcionek, które chcemy wykorzystać. Ja zdecydowałem się na moje ulubione Liberations Sans Serif. Należy pamiętać by nadpisać wszystkie pliki helvetici, na przykład tak:

$ adb push /usr/share/fonts/liberation/LiberationSans-BoldItalic.ttf /system/fonts/helvetica_bold_italic.ttf
$ adb push /usr/share/fonts/liberation/LiberationSans-Bold.ttf /system/fonts/helvetica_bold.ttf
$ adb push /usr/share/fonts/liberation/LiberationSans-Italic.ttf /system/fonts/helvetica_medium_italic.ttf
$ adb push /usr/share/fonts/liberation/LiberationSans-Regular.ttf /system/fonts/helvetica_medium.ttf
$ adb push /usr/share/fonts/liberation/LiberationSans-Regular.ttf /system/fonts/helvetica_r.ttf
$ adb push /usr/share/fonts/liberation/LiberationSans-Regular.ttf /system/fonts/helvetica_roman.ttf
$ adb push /usr/share/fonts/liberation/LiberationSans-Italic.ttf /system/fonts/helvetica_roman_italic.ttf
$ 


Nowe czcionki będą już używane jako domyślne czcionki systemowe w interfejsie użytkownika zaraz po restarcie nooka.

Wynik można obejrzeć na dwóch poniższych zrzutach zrobionych za pomocą narzędzi z ADK (prostokąciki na końcach to jakieś niestandardowe znaki wstawiane przez system gdy tytuł jest za długi, a które w Liberations Sans Serif najwyraźniej nie występują).

Polskie literki w nagłówku stronyPolskie literki w nagłówku strony

Polskie literki w liście książekPolskie literki w liście książek