我有一个现有的DOORS模块,恰好有一些富文本条目;这些条目中有一些符号,例如'卷曲'引号。我试图升级导出LaTeX源文件的DXL宏,问题是不考虑这些高数字符号"标准UTF-8"通过TexMaker的导入功能(无论如何可能不会被Xelatex或其他转换器处理)。我不能简单地使用DXL中的UnicodeString
函数,因为它们会破坏富文本的其余部分,显然字符标识符charOf(decimal_number_code)
仅适用于基本字符集,即少于某些字符数字代码值。例如,charOf(8217)
应该创建一个右卷曲单引号,但当我尝试代码时
if (charOf(8217) == one_char)
我从未得到过匹配。我确实从DOORS模块复制了卷曲引用,并通过在线unicode分析器验证它肯定是Unicode十进制值8217。
那么,我在这里错过了什么?我只是希望能够检测到任何符号字符,正确识别它,然后用输出流中的\textquoteright
替换它,例如。c
。
我的整体设置适用于较低计数的字符,因为这可行:
( thedeg = charOf(176)
if( thedeg == c )
{
temp += "$\\degree$"
}
是从字符串中拉出的单个字符)
\
答案 0 :(得分:0)
在IBM forums获得了DXL编码专家的帮助。
引用重要的东西(那里也有一些有用的代码片段):
嘿,你是对的似乎intOf(char)和charOf(int)都做了一些 以256为模,因此切掉任何高于此值的东西。试试:
int i=8217;
char c = addr_(i);
print c;
然后允许将c
与任何输入字符进行比较。