在ImageJ中显示非ASCII字符

3

这是一个简单的问题,但我无法在任何地方找到答案。到目前为止,没有任何搜索策略适用于我。

我有一个ImageJ宏,它打开一个对话框供用户设置图像叠加的大小。该对话框提示用户以微米为单位提供叠加层的大小:

Dialog.addNumber("Width (µm):", 500);
Dialog.addNumber("Height (µm):", 250);

问题在于对话框未能按预期显示:微米符号前面多了一个额外的字符。我得到的是这个(¬µm),而不是这个(µm)。
很显然,这是一个字符编码问题。但是我找不到任何文档告诉我如何正确地将非ASCII字符插入ImageJ对话框。我尝试使用ASCII代码(230)和Unicode(U+00B5),但在这些情况下,它只是作为代码呈现而不是符号。 ImageJ中有用于获取字符的Unicode字符串的宏调用,但没有办法将其打印回来,除了作为一串数字? 我被难住了。

我自己无法复现这个问题 - µ 似乎没有前置字符。你能否更新你的问题并告知 (a) 你使用的 ImageJ 版本 (b) 你使用的 Java 版本以及 (c) 操作系统? (a) 和 (b) 可以在 帮助 > 关于 ImageJ 中找到。 - Mark Longair
使用ImageJ 1.45s,Java 1.6.0_31 64位,OS X 10.7.3。 - dr.nixon
1
你的宏文件采用什么编码,file -I命令可以查看。 - trashgod
1个回答

1
你所要做的是:
Dialog.addNumber("Width (" + fromCharCode(181) + "m):", 500);
Dialog.addNumber("Height (" + fromCharCode(181) + "m):", 250);

181 是十六进制 00B5 的十进制值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接