Evince и fc-match считают, что Windows 8.1 courbd.ttf хуже, чем шрифт DejaVu Sans Book

У меня есть счет в формате PDF, в котором программное обеспечение магазина использует шрифты Courier New и Courier New Bold. Тем не менее, и Evince, и fc-match решают (предполагая через Fontconfig), что мой оригинальный Courier New Bold в Windows 8.1 в courbd.ttf - не лучшее совпадение, и он решает использовать вместо этого DejaVu Sans Book. Это полностью нарушает рендеринг PDF в Evince.

Это лучше всего продемонстрировать, используя fc-match "Courier New Bold":

/usr/share/fonts> fc-match  "Courier New Bold"         
DejaVuSans.ttf: "DejaVu Sans" "Book"

Если я использую вывод отладочной информации для Fontconfig, используя переменную окружения FC_DEBUG=2, я могу видеть это, глядя на мой courbd.ttf, но каким-то образом он отклоняет его в пользу DejaVu Sans.

Это все в Ubuntu / Xubuntu 19.04.

ОБНОВЛЕНИЕ

Мне удалось взломать это с помощью локальной настройки Fontconfig, как показано ниже. Но это похоже на взлом, и проблема заключается в другом:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match>
        <test name="family">
            <string>Courier New Bold</string>
        </test>
        <edit mode="assign" name="file">
            <string>/usr/share/fonts/truetype/win81-fonts/courbd.ttf</string>
        </edit>         
    </match>    
</fontconfig>

ОБНОВЛЕНИЕ 2

/usr/share/fonts/truetype/win81-fonts> fc-query /usr/share/fonts/truetype/win81-fonts/courbd.ttf | grep -E 'name:|family:|style:'
    family: "Courier New"(s)
    style: "Negreta"(s) "tučné"(s) "fed"(s) "Fett"(s) "Έντονα"(s) "Bold"(s) "Negrita"(s) "Lihavoitu"(s) "Gras"(s) "Félkövér"(s) "Grassetto"(s) "Vet"(s) "Halvfet"(s) "Pogrubiony"(s) "Negrito"(s) "Полужирный"(s) "Fet"(s) "Kalın"(s) "Krepko"(s) "đậm"(s) "Lodia"(s)
    fullname: "Courier New Negreta"(s) "Courier New tučné"(s) "Courier New fed"(s) "Courier New Fett"(s) "Courier New Έντονα"(s) "Courier New Bold"(s) "Courier New Negrita"(s) "Courier New Lihavoitu"(s) "Courier New Gras"(s) "Courier New Félkövér"(s) "Courier New Grassetto"(s) "Courier New Vet"(s) "Courier New Halvfet"(s) "Courier New Pogrubiony"(s) "Courier New Negrito"(s) "Courier New Полужирный"(s) "Courier New Fet"(s) "Courier New Kalın"(s) "Courier New Krepko"(s) "Courier New đậm"(s) "Courier New Lodia"(s)
    postscriptname: "CourierNewPS-BoldMT"(s)

ОБНОВЛЕНИЕ 3

Интересно, что теперь Evince говорит, что он был заменен на Courier New Negreta , как если бы он не видел другие имена, хранящиеся в шрифте.

Courier New Negreta is substituted.

2
задан 27 July 2019 в 10:26

0 ответов

Другие вопросы по тегам:

Похожие вопросы: