Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Что там дальше с Юникодом под Flipper Zero?

Наверняка вам интересно, что там происходит с моим мини-проектом по внедрению Юникода во «Флиппер Зеро»? Шучу, понимаю, что всем пофигу!

Тем не менее всё равно напишу. Проект пока на паузе.

Причина — разработчики прошивки решили обновить фреймворк «U∞g²», который используется для вывода текста. Дело хорошее, но поскольку мои правки зависят от этого фреймворка, придётся подождать его обновления.

Что там в нём изменится мне интересно, можно бы посмотреть, но форсировать не буду, обновится — гляну.

А пока заметил, что переписать придётся ещё одну функцию — elements_multiline_text_aligned. Когда просматривал, не заметил, что в ней используется местный аналог printf, который с Юникодом сроду не работал:

if((start[chars_fit] == '\n') || (start[chars_fit] == 0)) {
    line = furi_string_alloc_printf("%.*s", chars_fit, start);
} else if((y + font_height) > canvas_height(canvas)) {
    line = furi_string_alloc_printf("%.*s...\n", chars_fit, start);
} else {
    chars_fit -= 1; // account for the dash
    line = furi_string_alloc_printf("%.*s-\n", chars_fit, start);
}

Конкретно это место никак не зависит от «U∞g²», можно бы и заняться. Но пока у меня с новогодними праздниками не задалось — всё ещё работаю, плюс немного заболел — горло болит и кашель. Разгребусь, выздоровлю и займусь.

9 комментариев
Оскар Шарипов 1 мес

Ничего себе! «Всем пофигу» — а мне вот интересно! У меня флиппера нет, зато это большая хорошая правка в FOSS и ты увлекательно о ней пишешь. Каждый пост можно прочесть без оглядки на предыдущие и все остается понятным.

Евгений Степанищев 1 мес

Спасибо, буду продолжать )

hsh 1 мес

line = furi_string_alloc_printf("%.*s-\n", chars_fit, start);

и тут фури, куда катится интернет

Евгений Степанищев 1 мес

Flipper Universal Registry Implementation ))

Zed 1 мес

Не пофигу, читать интересно, но коментировать нечего.
Были бы тут реакции как у телеги — можно было бы оставлять вместо камента, ноувы.

Евгений Степанищев 1 мес

А сложно сказать как их сделать. У Ильи Бирмана (автора «Эгеи») пользователи аутентифицируются только для написания комментария и только в сторонних сервисах, не будешь же каждый заставлять человека для лайка через Вконтакте входить? Неудобно. А если не заствлять, то лайки невозможно будет различить.

Zed 1 мес

А сложно сказать как их сделать.

Так может аналогично комментарию?
Нажимаешь на лайк\дизлайк — а оно как у меня тут вот просто форму для имени с почтой подкидывает или какие там альтернативные варианты.
При следующем то заходе я вижу оно меня уже помнит.

Евгений Степанищев 1 мес

У «Эгеи» обфусцированный исходник, так что я в любом случае добавить не смогу (

hsh 1 мес

А сложно сказать как их сделать.

транслировать фид в телеграм и поотм скачивать реакции из телеграма сюда!

Евгений Степанищев 1 мес

Ну так это тоже надо дописывать движок, расширяться он не позволяет. А канал в телеграме есть, кстати: @bolknote

Zed 1 мес

транслировать фид в телеграм и поотм

Ну вот это мысль, но в оригинальной телеге автора блога посты неполные.
Ябы читал там, но при этом вынужден буду переходить сюда чтобы дочитать что поидее менее удобно и вынуждает покидать экосистему телеги)

Евгений Степанищев 1 мес

Я бы транслировал полные, если бы знал как ) Своего бота я писать не хочу.

Zed 1 мес

Я бы транслировал полные, если бы знал как )

А щас то как оно туда транслируется?
Если юзается какой-то сторонний сервис, предлагаю глянуть умеет ли он транслировать полностью например забирая по рсс с сайта.

Евгений Степанищев 1 мес

Сторонний бот AximoBot забирает из RSS и публикует. Полностью он не умеет.

Zed 1 мес

У «Эгеи» обфусцированный исходник, так что я в любом случае добавить не смогу (

А есть место куда автору идею подать про реакции?)

Евгений Степанищев 1 мес

Сюда можно: https://t.me/aegea_community

Zed 1 мес

Сторонний бот AximoBot забирает из RSS и публикует. Полностью он не умеет.

Он вполне умеет:
Настройки — конфигурация формата нотификаций — обработка длинных описаний. Для текста и медиа выбрать — разбить описание на части.

Евгений Степанищев 1 мес

Оооо! Поставил! Спасибо большое!