Laravel Dompdf, похоже, не загружает мой пользовательский шрифт - PullRequest
0 голосов
/ 19 июня 2020

Я использую Laravel 6 с barryvdh / laravel -dompdf v0.8.5 в данный момент и мне нужно использовать собственный шрифт для моего тайского языка на моей странице PDF, но это не так кажется, вообще работает. Я искал и пробовал много тем / ответов, которые я нашел, но все равно не повезло, поэтому я решил оставить свой первый вопрос здесь.

Вот мой код.

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <style type="text/css">
    @page { margin: 4px 0 0 0; }
    @font-face {
        font-family: 'THSarabunNew';
        font-style: normal;
        font-weight: normal; 
        src: url("{{ asset('fonts/THSarabunNew.ttf') }}") format("truetype");
    }
    @font-face {
        font-family: 'THSarabunNew';
        font-style: normal;
        font-weight: bold; 
        src: url("{{ asset('fonts/THSarabunNew-Bold.ttf') }}") format("truetype");
    }
    @font-face {
        font-family: 'THSarabunNew';
        font-style: italic;
        font-weight: normal; 
        src: url("{{ asset('fonts/THSarabunNew-Italic.ttf') }}") format("truetype");
    }
    @font-face {
        font-family: 'THSarabunNew';
        font-style: italic;
        font-weight: bold; 
        src: url("{{ asset('fonts/THSarabunNew-BoldItalic.ttf') }}") format("truetype");
    }
    .course-name {
        width: 100%;
        position: absolute;
        top: 400px;
        font-size: 3rem;
        text-align: center;
        font-weight: bold;
        font-family: 'THSarabunNew', serif;
    }
</head>
<body>
    <div class="cert">
        <div class="course-name">test course ภาษาไทย</div>
    </div>
</body>
</html>

То, что у меня уже есть:

  1. У меня есть хранилище / шрифты, созданные с разрешением на чтение и запись.
  2. У меня есть пользовательские шрифты (как вы можете видеть путь в sr c выше), находящиеся внутри public / fonts с разрешением 755 для каждого файла.

То, что я уже пробовал:

  1. Изменил asset () на public_path ()
    Результат - Моя страница PDF не могла даже render, поэтому я изменил его обратно.
  2. Установил свои собственные шрифты вместо использования @ font-face с помощью команды php load_font. php, которую я получил отсюда https://github.com/dompdf/utils
    Результат - ничего не изменилось.
  3. Изменено <html> на <html lang="th">
    Результат - ничего не изменилось.

  4. Изменено на другое семейство шрифтов, Maitree, вместо THSarabunNew
    Результат - ничего не изменилось.

Каждый случай, который я пробовал, выглядел так, как будто мои шрифты вообще не загружались! Потому что слово «тестовый курс» всегда попадало в употребление serif ', и поэтому все мои тайские буквы всегда отображались в виде вопросительного знака. (как вы можете видеть в моем приложении ниже).

тестовый курс ????????

Я все еще что-нибудь пропустил? Я борюсь с этим вопросом уже пару дней, очень, очень нужна ваша помощь. Пожалуйста, порекомендуйте. Заранее спасибо.

...