Dlaczego niektóre czcionki wyświetlają nieprawidłowe znaki?

Objawy

W przypadku niektórych czcionek, takich jak Gill Sans lub Linux Libertine G, wyświetlany tekst może być całkowicie błędny. Znaki są wyświetlane w prawidłowym stylu, ale są to niewłaściwe znaki.

Dzieje się tak od wersji 18.

Przyczyna

Ten problem nie ogranicza się do BricsCAD, ale zdarza się również w innych programach.

Są to czcionki, które używają wielu plików czcionek (taki pakiet plików nazywa się rodziną czcionek), a programy domyślnie wyszukują najlepiej pasujący plik czcionki w rodzinie czcionek do rysowania znaku. Wyświetlanie czcionki byłoby w porządku, nawet gdyby użyto jednego pliku czcionki, ale istnieją niewielkie ulepszenia w przypadku używania większej liczby plików dla tej czcionki. Używanie zwykłego pliku czcionki i mówienie narysuj tę pogrubioną czcionkę jest w porządku, ale użycie dedykowanego pliku pogrubionej czcionki jest lepsze.

Większe rodziny czcionek mogą mieć małe wady, które spowodują niejasności w wyborze pliku rodziny. Efekt jest taki, że podczas rysowania znaku na wczesnym etapie obliczeń używany jest jeden plik czcionki, a w późniejszym etapie używany jest inny plik czcionki z tej samej rodziny.

Nie powoduje to żadnych problemów w V17, ale w V18 może prowadzić do narysowania postaci, co jest całkowicie błędne. Nasze nowe podejście do obliczeń jest w rzeczywistości poprawne i nie możemy tego naprawić.

Rozwiązanie

Rozwiązaniem jest przycięcie rodziny czcionek używanych dla pojedynczej czcionki, aby uniknąć niejednoznacznego wyboru pliku, który ma zostać użyty. W przypadku Gill Sans można to osiągnąć poprzez usunięcie plików dla:

  • Gill Sans Light
  • Gill bez lekkiej kursywy
  • Gill bez pogrubienia
  • Gill Sans SemiBold Italic
  • Gill Sans UltraBold

Efekty wizualne wynikające z używania mniejszej liczby plików czcionek są minimalne.

Note:

Czcionka, która jest dystrybuowana z wieloma plikami, nie powoduje automatycznego wyświetlenia tego problemu.

Na przykład czcionka Noto Sans zawiera dwa pliki czcionek w następujących stylach: Kursywa, Jasna kursywa. Ale gdy te dwie czcionki są otwierane za pomocą Przeglądarki czcionek systemu Windows, można zobaczyć, że te dwie czcionki technicznie należą do dwóch różnych rodzin czcionek:

  • Family Noto Sans (używając stylu Italic)
  • Family Noto Sans Light (przy użyciu stylu Italic)

Ponieważ rodziny czcionek są różne, ten problem nie dotyczy czcionki.

Podobnie większość czcionek unika tego problemu, używając innej rodziny czcionek dla "rozszerzonych" stylów czcionek. Znanych nam jest tylko kilka czcionek, które faktycznie mają ten problem.

W przypadku stylów rozszerzonych mamy na myśli style czcionek spoza tych 4 stylów:

  • Regularny
  • Pogrubienie
  • Kursywa
  • Pogrubiona kursywa

Aby uzyskać więcej informacji, zobacz https://docs.microsoft.com/en-us/typography/opentype/spec/name#name-idssekcje Nazwa rodziny czcionek i Nazwa podrodziny czcionek.