6

mj-font 在 mjml 中不起作用。

这是我想要做的事情index.mjml

<mjml>

  <mj-head>
      <mj-font name="testFont" href="testFont.ttf"/>
  </mj-head>

  <mj-body>

    <mj-section>
      <mj-column>

        <mj-text font-family="testFont" align="center" font-size="20px">
          Just a text
        </mj-text>

      </mj-column>
    </mj-section>

  </mj-body>

</mjml>

这是项目目录的截图: 在此处输入图像描述

这是我在应用程序中看到的: 在此处输入图像描述

这是字体的外观: 在此处输入图像描述

我在这里错过了什么,我怎样才能让我的字体工作?

谢谢你。

4

1 回答 1

7

我发现使用 mj-font 标签很难使用自定义字体。如果您使用谷歌字体 api,它似乎可以正常工作。

使用 Google 字体的示例

<mj-font name="Raleway" href="https://fonts.googleapis.com/css?family=Raleway" />

考虑到这一点,我开始使用以下内容并为我工作:(它在<mj-style></mj-style>标签之间)

@font-face {
    font-family: testFont;
    src: url(https://cdn2.hubspot.net/hubfs/199900/fonts/someFontFile.ttf)
    format('truetype');
} 

我通常会使用 .woff 文件而不是 .ttf 文件。

深入研究它,如果您在 Web 浏览器中访问诸如https://fonts.googleapis.com/css?family=Raleway之类的 Google 字体链接,文件的内容是这样的:

/* latin-ext */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: local('Raleway'), local('Raleway-Regular'), url(https://fonts.gstatic.com/s/raleway/v13/1Ptug8zYS_SKggPNyCMIT4ttDfCmxA.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: local('Raleway'), local('Raleway-Regular'), url(https://fonts.gstatic.com/s/raleway/v13/1Ptug8zYS_SKggPNyC0IT4ttDfA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

回到您的问题...由于您使用<mj-font>标签加载的文件是二进制文件,我想 mjml 不知道如何处理它。如果该文件是 .woff 字体文件,那么它可能会起作用。也许他们可以在不久的将来改变这一点。毕竟,它是一个非常有用的工具。

于 2019-06-13T16:33:24.180 回答