Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
System Windows jest dostępny w zlokalizowanych wersjach dla wielu języków. Jednak wersja języka angielskiego może być również używana do uruchamiania aplikacji napisanych w językach innych niż angielski. To prawda, nawet jeśli skrypt używany dla tych języków jest inny, jak w przypadku pisania aplikacji w języku greckim lub japońskim. Aplikacje te wymagają interfejsu użytkownika z oknami dialogowymi, ikonami i narzędziami, które udostępniają informacje w języku aplikacji, co może różnić się od języka używanego w bieżącym interfejsie użytkownika systemu Windows.
Problem podczas wybierania czcionki dla interfejsu użytkownika jest oczywisty. Na przykład czcionka powłoki, znana również jako czcionka systemowa lub domyślna, dla Windows 98 w wersji anglojęzycznej (Stany Zjednoczone) to MS Sans Serif, podczas gdy czcionka powłoki dla Windows 98 w wersji greckojęzycznej (Grecja) to MS Sans Serif Greek. W przypadku japońskiego (Japonia) Windows 98 czcionką powłoki jest MS UI Gothic. Te zestawy znaków nie mogą być bezpośrednio mapowane na siebie. Zamiana MS Sans Serif na MS Sans Serif Grecki, gdy ustawienia regionalne są ustawione na Grecki (Grecja), nie pozwala na odpowiednie uruchamianie istniejących aplikacji ani wyświetlanie greckich znaków w menu systemowym, oknach dialogowych i kontrolkach edycyjnych.
System Windows rozwiązuje ten problem przy użyciu czcionek logicznych MS Shell Dlg i MS Shell Dlg 2, aby umożliwić wybór odpowiedniej czcionki do wyświetlania skryptu. W tej sekcji opisano kilka zagadnień programistycznych dotyczących używania czcionek logicznych do implementowania okien dialogowych, menu i takich jak w przypadku elastycznych interfejsów użytkownika, które są dobrze wyświetlane we wszystkich obsługiwanych systemach operacyjnych Windows i we wszystkich językach. Aby uzyskać więcej informacji, zobacz Tworzenie czcionek i wybór. Zobacz również Wielojęzyczny Interfejs Użytkownika, aby zapoznać się z omówieniem korzystania z technologii Wielojęzycznego Interfejsu Użytkownika (MUI) w tworzeniu interfejsów użytkownika dla aplikacji wielojęzycznych.
Informacje o czcionkach logicznych
Czcionki logiczne MS Shell Dlg i MS Shell Dlg 2 są zasadniczo nazwami twarzy używanymi do mapowania w celu umożliwienia obsługi ustawień regionalnych/kultur zawierających znaki, które nie są zawarte na stronie kodowej 1252, zestawu znaków systemu Windows dla Stanów Zjednoczonych i Europy Zachodniej. MS Shell Dlg mapuje domyślną czcionkę powłoki skojarzoną z bieżącą kulturą/ustawieniami regionalnymi i obsługuje klasyczny wygląd pulpitu Windows. Ms Shell Dlg 2 nazwa twarzy została wprowadzona w systemie Windows 2000 w celu obsługi wyglądu wprowadzonego w systemie Windows 2000.
Jeśli na przykład aplikacja używa biblioteki MS Shell Dlg lub MS Shell Dlg 2 w oknach dialogowych, zespół lokalizacji tworzący zasoby języka greckiego dla aplikacji może skupić się na tłumaczeniu tekstu. Nie muszą być zaniepokojeni problemami, takimi jak rozróżnienie między MS Sans Serif i MS Sans Serif Grecki.
Notatka
Czcionki generowane przez bibliotekę MS Shell Dlg i MS Shell Dlg 2 różnią się w różnych wersjach systemu Windows. W związku z tym należy upewnić się, że elementy interfejsu użytkownika są dobrze wyświetlane na wszystkich platformach.
Obsługa nazw czcionek Hard-Coded
Korzystanie z formatu Unicode umożliwia aplikacjom radzenie sobie z tysiącami różnych znaków, ale większość czcionek nie obejmuje całego zestawu znaków Unicode. Twoje aplikacje nie powinny trwale kodować nazw czcionek. Jednym z powodów jest to, że stałe kodowanie nazwy czcionki, która wyświetla znaki dla jednego języka, a nie znaków w innym języku, powoduje, że cały zlokalizowany tekst w drugim języku jest wyświetlany niepoprawnie. Innym powodem, dla którego nazwy czcionek nie są zakodowane, jest to, że żądana czcionka może nie zostać załadowana w systemie operacyjnym, który wyświetla tekst aplikacji.
Najlepszym sposobem traktowania nazw czcionek jest rozważenie ich jako zasobów lokalizowalnych. Użycie czcionki logicznej rozwiązuje problem z uruchamianiem interfejsu przy użyciu dowolnego języka w systemie Windows NT lub Windows 2000 dla dowolnego języka. Ustawienie nazwy czcionki jako zasobu lokalizowalnego umożliwia lokalizatorowi zmianę czcionki dla zlokalizowanego interfejsu użytkownika.
Obsługa rozmiarów czcionek Hard-Coded
Niektóre skrypty są złożone i wymagają dużej liczby pikseli do poprawnego wyświetlania. Na przykład większość znaków w języku angielskim jest wyświetlana na siatce 5x7, ale znaki japońskie wymagają co najmniej 16x16 siatki, aby było wyraźnie widoczne. Chiński potrzebuje siatki 24x24, tajski potrzebuje tylko 8 pikseli szerokości, ale co najmniej 22 pikseli na wysokość. Łatwo jest zrozumieć, że niektóre znaki mogą nie być czytelne w małym rozmiarze czcionki.
Interfejs użytkownika aplikacji powinien traktować rozmiary czcionek jako zasoby lokalizowalne. Użycie czcionki logicznej rozwiązuje problem z uruchamianiem interfejsu przy użyciu dowolnego języka w systemie Windows NT lub Windows 2000 dla dowolnego języka. Ustawienie rozmiaru czcionki jako zasobu lokalizowalnego umożliwia lokalizatorowi zmianę czcionki dla zlokalizowanego interfejsu użytkownika.
Mapuj czcionki logiczne
Każda czcionka logiczna jest przypisana przez wpis w rejestrze do odpowiedniej czcionki powłoki dla obecnie aktywnych ustawień regionalnych. Gdy jest używana jedna z czcionek logicznych, system Windows przełącza się na czcionkę dla aktualnie wybranych ustawień regionalnych w czasie wykonywania. Ta operacja umożliwia poprawne wyświetlanie interfejsu użytkownika systemu Windows w języku angielskim (Stany Zjednoczone), a także znaków, które nie są wyświetlane na stronie kodowej 1252. Dlatego obecnie zlokalizowane aplikacje mogą być uruchamiane w angielskiej wersji systemu Windows (Stany Zjednoczone) bez modyfikacji.
Każdy komputer z systemem Windows odwzorowuje czcionki MS Shell Dlg i MS Shell Dlg 2 na odpowiednią czcionkę fizyczną w oparciu o zdefiniowany język dla programów innych niż Unicode, opisanych w Terminologii NLS. Rzeczywiste mapowania są przechowywane w kluczu rejestru HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\FontSubstitutes.
Mapowanie czcionek w systemie Windows Me/98/95
MS Shell Dlg zazwyczaj odnosi się do wersji specyficznej dla strony kodu MS Sans Serif.
Mapowanie czcionek w systemie Windows NT 4.0
MS Shell Dlg odnosi się do MS Sans Serif dla Europy Zachodniej i Środkowej, greckiego, tureckiego, bałtyckiego i języków wykorzystujących cyrylicę; MS UI Gothic dla języka japońskiego; Gulim dla języka koreańskiego; Simsun dla chińskiego uproszczonego; Pmingliu dla chińskiego tradycyjnego; itd.
Mapowanie czcionek w systemach Windows 2000, Windows XP, Windows Server 2003, Windows Vista i Windows 7
Obydwie czcionki logiczne mapują się na czcionki TrueType bazujące na standardzie Unicode. MS Shell Dlg używa czcionki Microsoft Sans Serif (różni się od MS Sans Serif), jeśli język instalacji nie jest japoński. MS Shell Dlg mapuje na MS UI Gothic, jeśli język instalacji to japoński.
W systemach Windows XP MUI, MS Shell Dlg jest mapowane na MS UI Gothic tylko wtedy, gdy ustawienia regionalne systemowe i język interfejsu użytkownika są ustawione na japoński. W przeciwnym razie MS Shell Dlg jest mapowany na Microsoft Sans Serif.
W systemach Windows Vista i Windows 7 MS Shell Dlg odwzorowuje się na MS UI Gothic, jeśli domyślny język interfejsu użytkownika systemu jest ustawiony na japoński (niezależnie od języka instalacji). MS Shell Dlg mapuje na Microsoft Sans Serif, jeśli domyślny język interfejsu użytkownika maszyny jest ustawiony na inny język niż japoński.
Ms Shell Dlg 2 po prostu używa czcionki Tahoma niezależnie od języka. Główną zaletą Tahoma nad Microsoft Sans Serif jest to, że Tahoma ma natywną pogrubioną twarz czcionki. Jego główną wadą jest to, że starsze systemy operacyjne mogą nie mieć jej zainstalowanej i mogą zastąpić ją mniej atrakcyjną czcionką.
Znaki, które nie są implementowane w tahoma lub Microsoft Sans Serif, mogą być implementowane w innych czcionkach systemu Windows, które są używane do wyświetlania tekstu w interfejsach użytkownika. W zależności od używanych kontrolek lub interfejsów API do wyświetlania tekstu, system może korzystać z różnych mechanizmów, takich jak mapowanie czcionek, aby automatycznie wybierać odpowiednie czcionki do wyświetlania określonych znaków.
Aplikacje mogą jawnie używać czcionek Microsoft Sans Serif lub Tahoma, oszczędzając sobie poziom złożoności związany z używaniem czcionek MS Shell Dlg lub MS Shell Dlg 2. Ze względu na łączenie czcionek, określenie Microsoft Sans Serif lub Tahoma zapewnia odpowiednie glify dla wszystkich języków.
Używanie biblioteki MS Shell Dlg dla aplikacji nieanglojęzycznej w systemie Windows Me/98/95
W systemie Windows Me/98/95 biblioteka MS Shell Dlg nie jest przeznaczona do użycia ze statyczną, inną niż angielską aplikacją interfejsu użytkownika, która jest uruchamiana, gdy użytkownik wybrał ustawienia regionalne z innym zestawem znaków podstawowych systemu Windows. W takim przypadku język interfejsu użytkownika aplikacji może nie być obsługiwany przy użyciu czcionki, która jest zastępowana czcionką MS Shell Dlg.
Jeśli na przykład użytkownik korzysta z niemieckiej wersji językowej systemu Windows i chce zainstalować aplikację w języku greckim innej niż Unicode, użytkownik próbuje zmienić ustawienia regionalne na grecki (Grecja). Ta czynność resetuje MS Shell Dlg do czcionki greckiej, ale ta czcionka nie zawiera wszystkich glifów niezbędnych do wyświetlenia w języku niemieckim. W związku z tym wszystkie znaki inne niż ASCII w interfejsie użytkownika języka niemieckiego nie będą wyświetlane poprawnie. Aby zapewnić obsługę tego scenariusza, aplikacja musi ustawić bibliotekę MS Shell Dlg na czcionkę zawierającą zarówno zachodnioeuropejskie, jak i greckie glify.
Tematy pokrewne