在asciidoctor-pdf中渲染非英语字符

时间:2015-11-09 20:15:00

标签: ruby pdf encoding asciidoctor

我正在尝试使用asciidoctor-pdf编写文档,我需要使用以下字符:ă,â,î,ş,ţ。渲染pdf输出,但提到的字符呈现为空。我不知道如何处理这个问题。

例如:

我写了这段代码:

= Document Title
Doc Writer <doc@example.com>
:doctype: book
:source-highlighter: coderay
:listing-caption: Listing
// Uncomment next line to set page size (default is Letter)
//:pdf-page-size: A4

A simple http://asciidoc.org[AsciiDoc] document.

== Introducţie

A paragraph followed by a simple list with square bullets.

结果是Introducţie这个词呈现为Introduc ie,最后是错误:

/usr/local/rvm/gems/ruby-2.2.2/gems/pdf-core-0.2.5/lib/pdf/core/pdf_object.rb:55: warning: regexp match /.../n against to UTF-8 string
  • 可以是系统编码配置问题吗?
  • 我是否需要在ruby中设置不同的编码配置?

谢谢。

2 个答案:

答案 0 :(得分:0)

我认为如果你想确定,你总是可以使用小数实体引用表单。对于带有cedilla的拉丁语小写字母T,它是:&#355;

检查此表以获取完整列表: List of Unicode characters

此外,如果您想在标题中使用此特殊字符,则会出现问题: Section id with characters outside of Windows-1252 encoding causes warning

现在似乎已修复,但我没有验证它。

答案 1 :(得分:0)

在标题中编写此类特殊字符的一种可能方法是在asciidoc文档的序言中声明它们,例如,

:t-cedil: &#x00163;

并在正文中调用

== pass:normal[Test-{t-cedil}]

所以你的标题看起来像

<强>测试-T