English Polski
English Polski


 

KazFont - darmowa czcionka programisty dla Windows

W góręPoprzedni 

5. Elastyczny wybór kodowania

Jeśli używasz tylko jednego sposobu kodowania i nie mieszasz języków, nie potrzebujesz dodatkowych funkcjonalności czcionki KazFont. Zwykle jednak piszemy programy (lub strony Web) dla odbiorców w różnych krajach, więc wcześniej lub później napotkasz na problemy z tym związane.

Idealnym rozwiązaniem byłoby stosowanie tylko plików Unicode lub UTF-8 i wyświetlanie w jakiejś czcionce TrueType. Niestety wiele kompilatorów nie akceptuje plików źródłowych Unicode, więc zwykle używamy plików zakodowanych w jakimś formacie 8-bitowym (np. polskie strony HTML w 8859-2).

5a. KazFont.fon

Każda nazwa czcionki zawiera bitmapy dla obydwu kodowań: zachodniego (CP1252) i środkowoeuropejskiego (CP1250). Możesz wybrać skrypt (kodowanie) przy pomocy dialogu 'Czcionka'.

Nazwa czcionkiWygląd znakówNazwa kodowaniaRzeczywiste kodowanie
KazKazFont Western ZachodnieZachodnie
KazFont CE Europa ŚrodkowaEuropa Środkowa
Kaz 8859KazFont 8859-1 Zachodnie8859-1
KazFont 8859-2 Europa Środkowa8859-2
Kaz UTF8KazFont UTF8 ZachodnieUTF8
Europa ŚrodkowaUTF8
Kaz HexKazFont Hex ZachodnieHex
Europa ŚrodkowaHex

Dlaczego czcionki UTF8 i Hex mają dwa kodowania ?

W Panelu sterowania w Zaawansowanych Opcjach regionalnych i językowych znajduje się ustawienie: "Wybierz język odpowiadający wersji językowej programów nie obsługujących kodu Unicode, których chcesz używać"
Jest to po prostu wybór preferowanego kodowania dla języka.

Na podstawie tej preferencji, system operacyjny wybiera odpowiednie kodowanie dla czcionek. Jeśli znak w preferowanym kodowaniu nie jest dostępny w wybranej czcionce, to zamiast znaku pojawia się magiczna wartość 7F. W poniższej tabeli można zobaczyć rezultat tej zamiany. Wyświetlono ten sam tekst ASCII przy użyciu różnego kodowania:

Preferowane kodowanie = Zachodnie
czcionka = Kaz (skrypt Zachodni)czcionka = Kaz (skrypt Europa Środkowa)
Western script CE script
Preferowane kodowanie = Europa Środkowa
czcionka = Kaz (skrypt Zachodni)czcionka = Kaz (skrypt Europa Środkowa)
Western script CE script

Podobny efekt występuje w czcionkach UTF8 i Hex. Tutaj magiczną wartością jest 5F.

Preferowane kodowanie = Zachodnie
czcionka = Kaz Hex (skrypt Zachodni)czcionka = Kaz Hex (skrypt Europa Środkowa)
Western script CE script
Preferowane kodowanie = Europa Środkowa
czcionka = Kaz Hex (skrypt Zachodni)czcionka = Kaz Hex (skrypt Europa Środkowa)
Western script CE script

Gdy użyjemy czcionki TrueType Unicode, otrzymamy również niepoprawne wyniki. Wyświetlane są znaki zawarte w preferowanym kodowaniu niezależnie od wybranego skryptu:

Preferowane kodowanie = Zachodnie
Courier New (skrypt Zachodni)Courier New (skrypt Europa Środkowa)
Western script CE script
Preferowane kodowanie = Europa Środkowa
czcionka = Courier New (skrypt Zachodni)czcionka = Courier New (skrypt Europa Środkowa)
Western script CE script

Oto przykład problemu z językami. Mamy dwa słowa w języku Islandzkim i Polskim. Te języki należą do różnych sposobów kodowania. Jak te słowa widać w edytorze ?

Poprawny wygląd
Gardabear Wolnosc
Preferowane kodowanie = Zachodnie
czcionka = Kaz (skrypt Zachodni)czcionka = Kaz (skrypt Europa Środkowa)
Western script CE script CE script CE script
Preferowane kodowanie = Europa Środkowa
czcionka = Kaz (skrypt Zachodni)czcionka = Kaz (skrypt Europa Środkowa)
CE script CE script CE script CE script

Co gorsza, wiele edytorów nie daje możliwości wyboru skryptu dla czcionki. Niektóre edytory tolerują wyłącznie kodowanie Zachodnie.

Aby rozwiązać te problemy i udostępnić pełną kontrolę kodowania, stworzono czcionkę KazFontPlus.

5a. KazFontPlus.fon - zaawansowana kontrola

Każda nazwa czcionki zawiera bitmapę tylko dla jednego kodowania, odpowiednio do nazwy. Można wybrać skrypt (kodowanie) czcionki poprzez wybór jej nazwy. Informacja o kodowaniu, która jest wbudowana w czcionkę, może być inna niż rzeczywiste kodowanie.

Nazwa czcionkiWygląd znakówNazwa kodowaniaRzeczywiste kodowanie
Kaz Western KazFont Western ZachodnieZachodnie
Kaz Western as CEEuropa Środkowa
Kaz CE KazFont CE Europa ŚrodkowaEuropa Środkowa
Kaz CE as WesternZachodnie
Kaz 8859-1 KazFont 8859-1 Zachodnie8859-1
Kaz 8859-1 as CEEuropa Środkowa
Kaz 8859-2 KazFont 8859-2 Europa Środkowa8859-2
Kaz 8859-2 as Western Zachodnie
Kaz UTF8 Western KazFont UTF8 Western ZachodnieUTF8
Kaz UTF8 CEEuropa Środkowa
Kaz Hex Western KazFont Hex ZachodnieHex
Kaz Hex CEEuropa Środkowa

Używając zaawansowanych czcionek KazFontPlus, po prostu wybierz nazwę czcionki odpowiednio do preferowanego kodowania i do kodowania edytowanego tekstu.

Preferowane kodowanie = Zachodnie
czcionka = Kaz Westernczcionka = Kaz CE as Western
Western script CE script
Preferowane kodowanie = Europa Środkowa
czcionka = Kaz Western as CEczcionka = Kaz CE
Western script CE script

Poprawny wygląd
Gardabear Wolnosc
Preferowane kodowanie = Zachodnie
czcionka = Kaz Westernczcionka = Kaz CE as Western
Kaz Western Kaz CE as Western
Preferowane kodowanie = Europa Środkowa
czcionka = Kaz Western as CEczcionka = Kaz CE
CE script CE script


Copyright © 2004-2015 Omega Computer