【问题标题】:asciidoc-pdf doesnt convert emojis in code blocksasciidoc-pdf 不转换代码块中的表情符号
【发布时间】:2020-05-05 11:20:45
【问题描述】:

我用 asciidoc 写了一个文本,当我用 asciidoc-pdf 转换时,它不会从这个代码块转换表情符号:

[source,java]
----
  public static void lines() {
    System.out.print("♥♥♥♥♥♥♥♥♥♥");
  }
----

pdf 中的结果如下所示:

public static void lines() {
System.out.print("¬¬¬¬¬¬¬¬¬¬");
}

是的,我也使用了自定义主题并设置了备用字体。 这是yaml主题文件:

font:
  catalog:
    PTSerif:
      normal: PTSerif-Regular.ttf
      italic: PTSerif-Italic.ttf
      bold: PTSerif-Bold.ttf
      bold_italic: PTSerif-BoldItalic.ttf
    EmojiFallback: 
      normal: EmojiFallback.ttf
      italic: EmojiFallback.ttf
      bold: EmojiFallback.ttf
      bold_italic: EmojiFallback.ttf
  fallbacks:
  - EmojiFallback
base:
  font-family: PTSerif

我希望你能帮助我。我很感激任何帮助

【问题讨论】:

    标签: emoji asciidoctor-pdf


    【解决方案1】:

    很久以后,我找到了帮助我的人。并给我这些方法来解决它。

    最简单的方法是扩展默认主题并将添加的内容合并到字体目录中:

    extends: default
    font:
      catalog:
        merge: true
        PTSerif:
          normal: PTSerif-Regular.ttf
          italic: PTSerif-Italic.ttf
          bold: PTSerif-Bold.ttf
          bold_italic: PTSerif-BoldItalic.ttf
        EmojiFallback: EmojiFallback.ttf
      fallbacks:
      - EmojiFallback
    base:
      font-family: PTSerif
    

    您可以将代码块配置为使用 TTF 等宽字体,而不是扩展默认主题:

    font:
      catalog:
        PTSerif:
          normal: PTSerif-Regular.ttf
          italic: PTSerif-Italic.ttf
          bold: PTSerif-Bold.ttf
          bold_italic: PTSerif-BoldItalic.ttf
        PTMono:
          normal: PTMono-Regular.ttf
          italic: PTMono-Italic.ttf
          bold: PTMono-Bold.ttf
          bold_italic: PTMono-BoldItalic.ttf
        EmojiFallback: EmojiFallback.ttf
      fallbacks:
      - EmojiFallback
    base:
      font-family: PTSerif
    code:
      font-family: PTMono
    

    最后,Asciidoctor PDF 现在提供了一种表情符号字体,该字体在 default-with-fallback-font 主题中进行了配置。因此,您可以改为扩展该主题:

    extends: default-with-fallback-font
    font:
      catalog:
        merge: true
        PTSerif:
          normal: PTSerif-Regular.ttf
          italic: PTSerif-Italic.ttf
          bold: PTSerif-Bold.ttf
          bold_italic: PTSerif-BoldItalic.ttf
      fallbacks: [M+ 1p Fallback, Noto Emoji]
    base:
      font-family: PTSerif
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-13
      • 1970-01-01
      • 1970-01-01
      • 2017-03-27
      • 2018-07-19
      • 2018-11-01
      • 1970-01-01
      相关资源
      最近更新 更多