gpt4 book ai didi

java - 将类中设置的 Unicode 行返回字符传递给 InDesign Team 的客户端 (DWR/HTML/UTF8)

转载 作者:行者123 更新时间:2023-11-29 05:34:41 24 4
gpt4 key购买 nike

我构建了一个内容管理工具,允许产品团队创建和管理导出到网站的产品,并允许不同的设计师团队为显示相同产品数据的报纸制作平面广告。

我的问题是 InDesign 图形设计人员和他们在 InDesign 中使用的宏。宏能够获取复制/粘贴的文本/数据,并根据特定字符的存在自动格式化 InDesign 中的文本。特别是设计团队在他们的宏中使用制表符、“软换行符”(换档回车)和常规换行符(硬回车)。

现在我在 java 类中生成一个包含记录和所需格式字符的文本 block ,然后通过 DWR 将其发送到客户端。当需要我发送\t 的制表符时,返回的是\r,我希望软换行符是\n,但是 InDesign 似乎将\r 和\n 都视为常规换行符。

直到昨天我遇到 Unicode\u2028(软换行符)和\u2029(常规换行符)时,我才放弃能够通过软返回。我尝试输出这两个字符而不是\r 和\n,希望 InDesign 可以不同地看待这些字符。在设计师从中复制输出的框中,看起来那里没有字符。在我指定\u2028 出现的地方根本没有换行符。当我将输出复制/粘贴到文本编辑器时,它显示那里有一个无法识别的字符(它显示为一个带有问号的框)。

平台是在 Tomcat 上运行的 Java/MySQL。

到目前为止,我还没有在这个应用程序中过多地处理字符编码。标题有 <meta charset="utf-8" />设置,但到目前为止就是这样。我试过将其设置为 utf-16,但它不会更改输出。 MySQL 数据库中的所有表都设置为 utf8/utf8_general_ci。

想法?我如何强制 InDesign 复制/粘贴文本并识别其所有支持宏的字符?实际上,它只是无法识别软换行符。帮助! :)

谢谢。抱歉,这么长!

瑞安 V

最佳答案

我使用 ID CS6 (OS X) 已经有一段时间了,但我终其一生都无法将粘贴的 LF 识别为强制换行符。 LF 和 CR 和 CRLF 都去段落中断。 U+2028 和 U+2029 显示为空字形,而不是中断。

我有点担心将此作为答案发布,但我会试一试:

您可以考虑将文本作为下载的 .txt 文件提供。 CS5 引入了“标记文本”(一种类似 XML 的文本文档,完全支持 InDesign 字符、属性等),这意味着您的设计人员将能够放置文本文件和 InDesign将按预期对待一切。

要将您现有的文本转换为 CS5+ 的标记文本(参见引用文献 here ),请输入 <ASCII-MAC><ASCII-WIN> (视情况而定)作为第一行并使用反斜杠转义任何“<”或“>”,然后您可以自由使用 <0x000A>作为强制换行。 (字面意思是那 8 个字符)

这可能有点矫枉过正,但它肯定是我能想到的最愚蠢可靠的方式。如果我有任何其他工作,我会编辑。

注意。 “强制换行”是 InDesign 本身用于表示 Shift+Enter 生成的字符的术语,您的“软换行”;与标准回车的“分段符”形成对比。在设计中apparently表示用 LF (U+000A) 强制中断,用 CR (U+000D) 表示段落中断。

关于java - 将类中设置的 Unicode 行返回字符传递给 InDesign Team 的客户端 (DWR/HTML/UTF8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19935998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com