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.
Uniscribe używa wielu aparatów kształtowania, które zawierają wiedzę o układzie dla określonych skryptów. Wykorzystuje również mechanizm układu OpenType do obsługi funkcji skryptowych specyficznych dla czcionki, takich jak generowanie glifów, pomiar rozmiaru i obsługa łamania wyrazów. Uniscribe zarządza dwukierunkowym przeorganizowaniem kolejności znaków przy użyciu algorytmu dwukierunkowego Unicode i rozumie formaty czcionek niebędące OpenType dla tworzenia układów dla pisma arabskiego, hebrajskiego i tajskiego.
Ponieważ dokładne zakresy punktów kodu przypisane do każdego aparatu kształtowania mogą się różnić, numery skryptów nie są publikowane, z wyjątkiem SCRIPT_UNDEFINED. Jednak aplikacja może przetestować atrybuty skryptów, wywołując funkcję ScriptGetProperties, która uzyskuje dostęp do globalnej tabeli właściwości skryptu. Aplikacja może używać globalnych właściwości skryptów, aby ułatwić łączenie własnych reguł układu z wymaganymi podziałami w aparacie kształtowania.
Aplikacja uzyskuje dostęp do aparatu kształtowania za pomocą wywołania funkcji ScriptShape. Wszystkie złożone mechanizmy kształtowania skryptów, mechanizmy kształtowania cyfr oraz mechanizmy kształtowania ASCII weryfikują czcionkę wskazaną w uchwycie kontekstu urządzenia przed kształtowaniem. Skrypty złożone muszą być kształtowane przy użyciu skryptu zwróconego przez funkcję ScriptItemize w celu zapewnienia czytelności. Inne przebiegi pozostają czytelne, jeśli mają kształt SCRIPT_UNDEFINED określony w eScript składowej struktury SCRIPT_ANALYSIS, chociaż mogą utracić jakość typograficznej.
ScriptShape zwraca 0, jeśli operacja zakończy się sukcesem, lub USP_E_SCRIPT_NOT_IN_FONT, jeśli czcionka dostarczona przez aplikację nie zawiera wystarczającej liczby glifów ani tabel kształtowania. Jeśli aplikacja określa SCRIPT_UNDEFINED i niektóre znaki nie są obsługiwane przez czcionkę, funkcja nadal kończy się powodzeniem. W takim przypadku aplikacja powinna skanować bufor wyjściowy glif pod kątem obecności brakujących glifów. Aby uzyskać strategie radzenia sobie z brakującymi glifami, zobacz Używanie zamienników czcionek.
Tematy pokrewne