Как в Scriptui (Extendscript) я могу использовать подписи или верхние индексы в заголовке кнопки? - PullRequest
0 голосов
/ 26 апреля 2020

Как в Scriptui (Extendscript) я могу использовать подписи или верхние индексы в заголовке кнопки? Я использую buttonTitle в качестве примера для любой символьной строки, которая отображается в диалоговом окне / палитре.

В этом примере:

var win = new Window("dialog");
var buttonTitle = "Button2";
win.aButton = win.add("button", undefined, buttonTitle);
win.show();

как мне кодировать ButtonTitle таким образом, чтобы он был "ButtonX «где X - верхний индекс или нижний индекс 2? Или, может быть, буква Y? Числа доступны в некоторых шрифтах, но буквы, вероятно, нет. Я хотел бы общее решение.

Я ценю ваше время. Спасибо, RON C

Это экранный сценарий проблемы scriptui:

See last column 4th row of buttons.

RON C

1 Ответ

0 голосов
/ 02 мая 2020

Только что видел это сегодня, очень жаль, что это заняло так много времени. Вы можете попробовать использовать коды Unicode для этого. Смотрите таблицы на этой странице:

https://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts

Но эти персонажи крошечные! Доступны коды для буквенных символов, но я их не проверял. Вот некоторый код для тестирования с примечаниями:

function buildUI(this_obj_) { 
    var win = (this_obj_ instanceof Panel) 
    ? this_obj_ 
    : new Window('palette', 'Script Window',[147,196,528,330]); 
    // \u00B2 for super 2, \u00B3 for super 3; the rest are \u2070 for super zero, \u2071 for super one, \u2074 for super four, \u2075 for super five, etc...
    win.xui_ui_button5 = win.add('button', [49,24,177,54], 'Super\u00B2');
    win.xui_ui_button5.onClick = function () {this.parent.close(1);}
    // \u2081 for sub 1, \u2082 for sub 2, \u2083 for sub 3, etc...
    win.xui_ui_button6 = win.add('button', [49,65,177,95], 'Sub\u2082'); 
    win.xui_ui_button6.onClick = function () {this.parent.close(1);} 

    return win 
} 
var w = buildUI(this); 
if (w.toString() == "[object Panel]") { 
    w; 
} else { 
    w.show(); 
}

[РЕДАКТИРОВАТЬ: Вот скриншот окна палитры, которое этот код работает для создания в After Effects]

Screenshot of code working in ae

[РЕДАКТИРОВАТЬ 2: Вот код, который работает в Photoshop с использованием модального диалога (и я тестирую старую версию PS на этом компьютере, но она должна работать, но на последней выглядит иначе)

var win = new Window('dialog', 'Script Window',[670,456,1160,598]); 
var w = buildUI(); 
if (w != null) { 
    w.show(); 
} 

function buildUI() { 
    if (win != null) { 
        win.xui_ui_button5 = win.add('button', [64,11,231,51], 'Super\u00B2'); 
        win.xui_ui_button5.onClick = function () {this.parent.close(1);} 
        win.xui_ui_button6 = win.add('button', [264,63,431,103], 'Sub\u2082'); 
        win.xui_ui_button6.onClick = function () {this.parent.close(1);} 
    } 
    return win 
} 

enter image description here

Вот супер x, y и z, работающие в PS с использованием кодов \u02E3, \u02B8 и \u1DBB: enter image description here

...