ДлинаТекстаВПикселях для Google Docs

ДлинаТекстаВПикселях для Google Docs
Евгений Юдин

Привет, коллеги!

Я перенес в Google Docs свою функцию для расчета длины текста в пикселях.

Подборнее о том, зачем эта функция нужна, читайте в статье:

Второй заголовок в Яндекс.Директ. Почему он пропадает и как это исправить? (обновлено 14-08-18)

Чтобы установить функцию в вашу табличку в Google Spreadsheet, заходим в «Инструменты» => «Редактор скриптов».

Автоматически будет создан новый файл скрипта. Удаляем текст, который в нем присутствует.

И вставляем код:

function ДлинаТекстаВПикселях(str, bold) {
if (bold === undefined) {
bold = false;
}

arr1 = [«а», «б», «в», «г», «д», «е», «ё», «ж», «з», «и», «й», «к»,
«л», «м», «н», «о», «п», «р», «с», «т», «у», «ф», «х», «ц», «ч», «ш», «щ»,
«ъ», «ы», «ь», «э», «ю», «я», «А», «Б», «В», «Г», «Д», «Е», «Ё», «Ж», «З»,
«И», «Й», «К», «Л», «М», «Н», «О», «П», «Р», «С», «Т», «У», «Ф», «Х», «Ц»,
«Ч», «Ш», «Щ», «Ъ», «Ы», «Ь», «Э», «Ю», «Я», «A», «B», «C», «D», «E», «F»,
«G», «H», «I», «J», «K», «L», «M», «N», «O», «P», «Q», «R», «S», «T», «U»,
«V», «W», «X», «Y», «Z», «a», «b», «c», «d», «e», «f», «g», «h», «i», «j»,
«k», «l», «m», «n», «o», «p», «q», «r», «s», «t», «u», «v», «w», «x», «y»,
«z», «Ґ», «ґ», «Є», «є», «І», «і», «Ї», «ї», «1», «2», «3», «4», «5», «6»,
«7», «8», «9», «0», «`», «!», «.», «,», «:», «;», «?», «-«, «_», «\»», «$»,
«%», «&», «(«, «)», «*», ««», «»», «№», «+», «=», «–», » «, «/», «|», «>»,
«<«, «~»];

if (!!bold == true) {
arr2 = [10, 11, 11, 8, 11, 11, 11, 13, 9, 11, 11, 9, 11, 13, 11, 11,
11, 11, 10, 9, 11, 15, 11, 11, 10, 15, 15, 13, 15, 11, 10, 15, 11, 13, 13,
13, 10, 13, 12, 12, 17, 11, 13, 13, 11, 13, 15, 13, 14, 13, 12, 13, 11, 11,
15, 12, 13, 13, 17, 17, 16, 18, 13, 13, 19, 13, 13, 13, 13, 13, 12, 11, 14,
13, 5, 10, 13, 11, 15, 13, 14, 12, 14, 13, 12, 11, 13, 13, 17, 12, 13, 10,
10, 11, 10, 11, 11, 6, 11, 11, 5, 5, 10, 5, 17, 11, 11, 11, 11, 7, 10, 6,
11, 11, 15, 11, 11, 9, 9, 8, 13, 10, 5, 5, 5, 5, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 6, 6, 5, 5, 5, 5, 10, 6, 10, 6, 10, 16, 12, 6, 6, 7, 10,
10, 19, 11, 11, 10, 5, 5, 6, 11, 11, 11];
} else {
arr2 = [10, 10, 10, 7, 11, 10, 10, 12, 8, 10, 10, 8, 11, 12, 10, 10,
10, 10, 9, 8, 9, 14, 8, 10, 9, 14, 15, 11, 13, 10, 9, 14, 10, 11, 12, 12,
10, 12, 12, 12, 17, 11, 13, 13, 10, 12, 15, 13, 14, 13, 12, 13, 12, 11, 14,
11, 13, 12, 17, 17, 14, 16, 11, 13, 18, 13, 11, 12, 13, 13, 12, 11, 14, 13,
4, 9, 12, 10, 15, 13, 14, 12, 14, 13, 12, 12, 13, 11, 17, 11, 12, 11, 10, 10,
9, 10, 10, 5, 10, 10, 4, 4, 9, 4, 14, 10, 10, 10, 10, 6, 9, 5, 10, 9, 13, 8,
9, 8, 9, 7, 13, 9, 4, 4, 4, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 6, 6,
5, 5, 5, 5, 10, 6, 10, 6, 10, 16, 12, 6, 6, 7, 10, 10, 19, 11, 11, 10, 5, 5,
6, 11, 11, 11];
}

sum = 0;
for (i = 0; i < str.length; i ++) {
for (j = 0; j < arr1.length; j++) {
if (str[i] == arr1[j]) {
sum = sum + arr2[j];
}
}
}

return sum;
}

 

Теперь в самом документе можем использовать функцию ДлинаТекстаВПикселях().

Она так же, как и функция для Excel, поддерживает параметр bold, который нужно задать как true (или ИСТИНА), если мы хотим рассчитать длину текста в пикселях с учетом того, что он будет выделен жирным шрифтом.

Всем спасибо! Надеюсь кому-нибудь пригодится =)