javascript - NFC NFD 在 Photoshop Javascript 中标准化?
问题描述
我正在使用 Mac 操作系统。由于 Mac OS 将韩语视为 UTF-8-MAC 而不仅仅是 UTF-8。
所以使用javascript时韩文字母被破坏了。
我想它与 NFD NFC 有关,我猜。
所以我设法使用applescript在shell上使用这个脚本。
执行 shell 脚本 "echo " & (한글 as text) & "|iconv -f UTF-8-MAC -t UTF-8"
看起来没问题。
但我不知道如何在没有规范化方法的 Javascript 中做到这一点。
有什么办法可以做到这一点?
这是从文档中获取文件名然后使用该文件名制作文本层的完整脚本。
if ( documents.length > 0 )
{
var originalDialogMode = app.displayDialogs;
app.displayDialogs = DialogModes.ERROR;
var originalRulerUnits = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
}
try
{
var docRef = activeDocument;
// Now create a text layer at the front
var myLayerRef = docRef.artLayers.add();
myLayerRef.kind = LayerKind.TEXT;
myLayerRef.name = "Filename";
var myTextRef = myLayerRef.textItem;
// strip the extension off
var fileNameNoExtension = docRef.name;
fileNameNoExtension = fileNameNoExtension.split( "." );
if ( fileNameNoExtension.length > 1 ) {
fileNameNoExtension.length--;
}
fileNameNoExtension = fileNameNoExtension.join(".");
myTextRef.contents = fileNameNoExtension;
// off set the text to be in the middle
myTextRef.font = "NanumGothic";
myTextRef.position = new Array( 50, 1450 );
myTextRef.size = 8;
// alert test
//alert(docRef.name);
//alert(fileNameNoExtension);
//alert(myTextRef.charset);
//alert(myTextRef.encoding);
}
catch( e )
{
// An error occurred. Restore ruler units, then propagate the error back
// to the user
preferences.rulerUnits = originalRulerUnits;
app.displayDialogs = originalDialogMode;
throw e;
}
解决方案
推荐阅读
- regex - 正则表达式 - 替换样式属性内的编码引号
- python-3.x - 从 statsmodels 中的 SVAR 获取方差分解时出错
- reporting-services - 如何在 SSRS 中创建有条件的多页报告
- javascript - 在 laravel 6.x 中渲染多个 vue 组件
- java - 我不知道如何在同一个程序中执行多个查询
- javascript - 无法从 JavaScript 列表中删除新项目
- python - How to make a JSON with custom fields
- python - 如何在 Python 中使用 transcrypt
- opencv - 将 OpenCV 链接到 Webots(Ubuntu)的问题
- java - 无法将消息写入控制台中显示 java.lang.NullPointerException 的 excel 文件