IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> MPLAB и MPASM — графика в оформлении кода., улучшение читаемости и внешнего вида текстов
orthodox
сообщение 3.11.2012, 17:57
Сообщение #1


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Собственно, история началась с появлением виндоус. С замены 866 кодовой страницы на 1251.
Конкретно — редакторы для набора кода для сабжа и, полагаю, не только для данного сабжа — раньше
могли использовать псевдографику, а в винде — нет. Больше всего касается тех, кто набирает каменты по русски.
Ну нету больше псевдографики в кодовой таблице 1251, а Юникод не поддерживается в том MPASM.
Если еще где не поддерживается — значит, проблема аналогичная.
Если опытный программер — то вообще не проблема, так как уже привык по любому, рисовать рамочки
из звёздочек уже как бы даже стандарт. Если Ымбеддер — тоже не проблема, нахер что вообще рисовать.
Справедливости ради отмечу, что в MPLAB есть возсможность использовать и 866 кодовую таблицу, но хотел бы
я посмотреть, как это будет делать кто. Клаву надо переключать на другую раскладку, да и вообще так не делают.

Короче, задача была сначала просто не меняя возможности набирать комментарии на русском, получить
так же псевдографику. То есть русский остается на месте, а место его в 1251`й — в самом конце, сначала
прописные, и в самом хвосте — строчные. Единственно — Ё немного выпирает, но это как обычно.
Их не трогаем. Остается некоторое количество кодов из общего возможного числа, исключая коды управления
(первые 32 в каждой половине). Забиты они в 1251 таблице разными национальными символами, которые
русскоязычный за всю жизнь не использует ни разу. То есть если не планируется изучение другой группы славянских
языков, а только языков программирования — можно использовать свободные места во второй половине кодовой таблицы
начиная с позиции {128+32} и далее, до начала собственно русских букв.
Кое-что там на самом деле есть полезного — многоточие, например, длинное тире и так далее — это оставляем, конечно.
При замене остального на спецсимволы (математические и псевдографику разного вида) — стараемся заменять, где возможно,
на сходное по начертанию — хотя это, конечно, не сильно-то возможно. Ну и всё. Останется подставить шрифт в систему и пользоваться.

А теперь конкретно по выполненному (примеры в конце):
За основу был взят свободный шрифт от ПараTайп — PT mono.
Это моноширинный шрифт, у него отлично отличается строчная L от единицы,
а заглавная О от нуля. Так же в русской части таблицы четко различается Л и П.
Этот шрифт делался с любовью, и сделан не только для красоты, хотя он красив —
но больше для работы, для хорошей читаемости.
Спасибо сотрудникам Пара Тайп (Александра Королькова, Белла Чаева), а так же и за то, что
этот шрифт не платный.

Так как ДОС`овская псевдографика немного морально подустарела,
то она была немного изменена.
• Для тонких линий рисования таблиц — добавлены углы скошенные и скругленные.
• Двойные линии для рисования таблиц заменены на просто утолщенные, 3:1 к тонким.
• Утолщенные табличные линии на углах только скругленные.
(пояснение — цель была не только осовременить немного, но и не отвлекать взгляд
ни на что. Угол — тормозить взгляд, звездочки его просто запутывали. Вот потому углы скруглены)
• Куча стрелок, кружочков и тому подобного — возможно, ненужные из них могут быть удалены теми,
кто захочет адаптировать под национальный алфавит, замена шрифта в системе —дело минутное.
• Математические символы, меньше—равно, больше—равно, бесконечность, не равно, приближенно равно,
тождественно равно, и так далее.
• Стрелки с линиями таблиц дают возможность отображать в каментах связи, есть такой стиль — что куда переходит,
и что с чем взаимодействует.
• Вертикальные отбивки в начале блока комментариев дают четкое разделение, к какой группе операторов
какие комментарии относятся
• Немного изменены знаки «равно», «плюс», «минус». Чуть длиннее, чуть жирнее, чуть симметричнее меж собой.
• Стрелочки немного сдвинуты ►▲◄▼, для того чтобы вертикальные линии сливались с ними, без разрыва.

Собственно, вроде бы и всё.
Короче, предложение для ограниченного круга лиц, так что кому надо — то вот оно.
•••{положу чуть позже, послал запрос Авторам на разрешение вмешиваться в их работу}
Шрифтик, с измененной кодировкой в нижней половине кодовой таблицы.•••
Как вводить всё это с клавы? Поможет вот это: прочитать статью ,
загрузить программку (хелп придется прочитать, но там одна страничка всего) и запрограммировать
клавиши по удобству ( могу подсказывать, как лучше, но не могу поделиться, так как моя клава —
другая, удобно на обычной не будет.)
Например, если использовать клавишу «М» как модификатор, то можно навесить под нее математические символы и так далее.
Всякие стрелки и линии удобно навешивать через аналогичные модификаторы — буквы на стрелочные клавиши,
то есть они могут иметь множество значений, в зависимости от модификатора, ну и исходное значение — перемещение — тоже сохранится.

Для работы надо просто установить шрифт в систему и в редакторе его выбрать, собственно и всё.
Самое простое, чтобы попробовать — воспользоваться «Тaблицей Символов» в винде, из «Стандартных программ»,
и тупо копипастить. Можно и нарисовать так шаблонов, а после их копипастить в текст — но это просто попробовать,
а вообще неудобно. Во всяком случае, если в этой программке включить кодовую таблицу 1251, русская — можно хоть увидеть
всё, что есть. И с нее удобно зашивать раскладку по вышеприведенной ссылке.

А вот тут будет примерчик ( щас наберу чего-то для пробы)

• Сама таблица символов шрифта «PT GRAF ASM mono»:
Прикрепленное изображение

• Наскоро набросанный примерчик в блокнотике (возможности этим не ограничены):
(смотреть в 100% увеличении, во избежание перерастеризации)
Прикрепленное изображение

• исходный текстовый файл
Прикрепленный файл  ______.txt ( 2,64 килобайт ) Кол-во скачиваний: 12
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 3.11.2012, 21:02
Сообщение #2


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



Дык, Женя...
Не хочут вить оне....
не в коня педального корм образование...
цифровое мышление, блять, блять, блять...
Диалект- Шолом! hi.gif , аднака....
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 3.11.2012, 23:15
Сообщение #3


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(evgeny_ch @ 3.11.2012, 20:57) *
Вам бы всё рюшечки. biggrin.gif
Кто берется за частные вопросы без предварительного решения общих,
тот неминуемо будет на каждом шагу бессознательно для себя "натыкаться" …
© Ульянов Владимир Ильич.

Мне всегда начинать говорить с жизнеописания и отчета о том, решил
ли я общие вопросы? Но даже если бы я и начал карьеру писателя
с обучения грамотному письму, орфографии и грамматике — в чем грех?
Я не обязан говорить по падонкаффске, это личный выбор.
Между прочим, предупредил, что «для ограниченного круга лиц».
Теперь ещё добавлю — «для очень узкого круга лиц», то есть тем,
кто конкретно имел эту проблему, и заботился о понятности и читаемости.
Пусть услышит тот, кого касается. Или вообще никто. Делалось для себя.
Или делиться — некрасиво? С каких пор?
Кстати, некомментированные и неряшливо оформленные программы
кодом почти не отличаются от хорошо исполненных, всё зависит от вкуса.
И от желания получить более надёжный код. Или от желания впоследствии
легко разобраться или дать другим возможность разобраться.
Так что навязывать даже и грех как бы...
Я и не навязываю.

Цитата(Designer56 @ 3.11.2012, 21:02) *
Дык, Женя...
Не хочут вить оне....
не в коня педального корм образование...
цифровое мышление, блять, блять, блять...
Диалект- Шолом! hi.gif , аднака....

Я что-то не врубился.
Ко мне какие-то претензии?
В чем намекнуть желаете?
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 3.11.2012, 23:36
Сообщение #4


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(evgeny_ch @ 3.11.2012, 23:24) *
Товарищ утверждал - Все эстеты гомики.
Теперь приходится пристально всматриваться в эстетику. drinks.gif

После забав мз даже на дружеский хлопок по спине не тянет, не говоря уж —
на оскорбление. Так, чисто как веничком пройтись в парилке... То есть, не в обиду совершенно.
Сделано не для эстетики, а из любви к порядку.
Кому не приходилось разбирать проги, написанные другими
и написанные наскоро — а так же свои многолетней давности —
может не тревожиться, и так хорошо.

PS В выращивании овощей пригодились бы таблички,
тоже со шрифтом, любым, лишь бы масляной краской,
чтоб не смыло дождями.
А то хрен знает после, что там сеяли и что выросло smile.gif
Но это не тот случай, там можно и от руки писать, абы понятно.
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 4.11.2012, 1:37
Сообщение #5


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(orthodox @ 4.11.2012, 1:36) *
А то хрен знает после, что там сеяли и что выросло smile.gif
Но это не тот случай, там можно и от руки писать, абы понятно.

Главное, чтобы именно хрен, а не мак или канабис.
А то и загреметь так не долго...
Перейти в начало страницы
 
+Цитировать сообщение
ViKo
сообщение 8.11.2012, 18:40
Сообщение #6


Активный участник
***

Группа: Пользователи
Сообщений: 10937
Регистрация: 19.4.2011
Пользователь №: 345



Цитата(orthodox @ 4.11.2012, 0:36) *
Сделано не для эстетики, а из любви к порядку.
Кому не приходилось разбирать проги, написанные другими
и написанные наскоро — а так же свои многолетней давности —
может не тревожиться, и так хорошо.

Советую вам скачать и изучить doxygen, и приспособиться под его требования. Я так пишу и C исходники, и SystemVerilog, и просто тексты пытаюсь... Так вырабатывается стиль. Хотя, саму документацию генерирую с его помощью только в качестве экспериментов.

Код
/*!
*******************************************************************************
* @brief    Main function
* @details    
* @param    
* @return    
* @note    
*/
int32_t main(void) {

}
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 8.11.2012, 20:21
Сообщение #7


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(ViKo @ 8.11.2012, 18:40) *
Советую вам скачать и изучить doxygen, и приспособиться под его требования. Я так пишу и C исходники, и SystemVerilog, и просто тексты пытаюсь... Так вырабатывается стиль. Хотя, саму документацию генерирую с его помощью только в качестве экспериментов.

Код
/*!
*******************************************************************************
* @brief    Main function
* @details    
* @param    
* @return    
* @note    
*/
int32_t main(void) {

}

То ж надо изучать... а то просто поставить в систему шрифт, и иметь всё реально
нужное в одном документе. В наглядной и понятной форме.
Для чего плодить сущности? Ну, в крайнем случае, можно делать длину строки
больше, чтобы всё поместилось, и печатать после при необходимости с поворотом листа.
А вот шрифт: Прикрепленный файл  PT_GRAFsi_ASM.zip ( 78,14 килобайт ) Кол-во скачиваний: 18

Ответ от автора пришел, она говорит, что если название изменено —
то к распространению они претензий не имеют. Тем более, имена Авторов
я там не трогал.
Перейти в начало страницы
 
+Цитировать сообщение
ViKo
сообщение 8.11.2012, 21:11
Сообщение #8


Активный участник
***

Группа: Пользователи
Сообщений: 10937
Регистрация: 19.4.2011
Пользователь №: 345



Цитата(orthodox @ 8.11.2012, 21:21) *
Для чего плодить сущности?

Вот именно smile.gif doxygen - это уже почти стандарт.
Прицепится кто-нибудь "на ПО документация имеется?", раз-два-три - сгенерировали.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 9.11.2012, 0:08
Сообщение #9


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(ViKo @ 8.11.2012, 21:11) *
Вот именно smile.gif doxygen - это уже почти стандарт.
Прицепится кто-нибудь "на ПО документация имеется?", раз-два-три - сгенерировали.

А хоть вкратце можно — что там входит в документацию?
Я глянул — чего-чего, но сущностей по ссылкам — как файлов в виндовс.
И что зачем надо — не понять.
Например, есть прошивка для контроллера, ей соответствует код на АСМ,
ему соответствует некий алгоритм, камень включен в схему, и работает с ней —
значит, алгоритм вытекает из предметной области, а она из техзадания.

В какой части тут есть место автоматизации?
Я всего не перечислил, но Вы меня поняли, конечно.

Вообще, для отчетов за крупные суммы при отсутствии
внешнего результата, вероятно, нужно что-то обьемное и непонятное,
чтобы никто не понял но восхитился.
Просто у меня иные задачи — наоборот, надо, чтобы когда сдаешь работу,
в ней именно что могли бы легко разобраться, прочитав как можно менее,
и при необходимости углубившись в подробности по любому пункту.
Ну и там обоснования и тому подобное...
Что из этого могла бы помочь сделать эта странная вещь с кучей непонятных
слов, которые разворачиваются в списки таких же непонятных слов?
Это что, имена классов, подклассов, методов и полей и что там ещё?
Тогда было бы понятно... И ненужно.
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 9.11.2012, 7:22
Сообщение #10





Гости






Цитата(orthodox @ 9.11.2012, 2:08) *
А хоть вкратце можно — что там входит в документацию?
Я глянул — чего-чего, но сущностей по ссылкам — как файлов в виндовс.
И что зачем надо — не понять.

Вот, например
Обратите внимание на пометку внизу страницы.

А всего делов-то - изучить десяток тегов и взять за привычку расставлять их вместо обычных комментариев (или вместе с)

Вчера мне ещё одна идея пришла, когда я вычищал из кода оставшиеся отладочные костыли - помечать их сразу особым тегом.
Например, заносить в группу костылей или TO UNDO (в противовес TODO)

Код
/**
*    \addtogroup Debug_patch
*
*    \brief Отладочный костыль
*
*   @{
*/

...

/**
*    @}
*/


После доксигенеза все костыли окажутся сгруппированными в отдельном загончике в ожидании рефакторинга.
Перейти в начало страницы
 
+Цитировать сообщение
ViKo
сообщение 9.11.2012, 7:37
Сообщение #11


Активный участник
***

Группа: Пользователи
Сообщений: 10937
Регистрация: 19.4.2011
Пользователь №: 345



Цитата(orthodox @ 9.11.2012, 1:08) *
А хоть вкратце можно — что там входит в документацию?

Документация создается в виде кучи html файлов, потом их можно склеить в один chm. Кажется, и в pdf можно.
То, что хотим документировать, комментируем специальным образом, с тегами - заголовки файлов, группы, определения, переменные, назначение и параметры функций, тип возвращаемого значения. Исходный код весь можно включить, и генерируются ссылки на каждую функцию, переменную в нем. Вряд ли для ассемблера пойдет, но стиль оформления подсмотреть и использовать можно.
На сайте есть pdf-мануал. Настроек - куча. Что включать - задается.
Вот пример, что есть в документации на smt32 библиотеку.
Цитата
Вообще, для отчетов за крупные суммы при отсутствии
внешнего результата, вероятно, нужно что-то обьемное и непонятное,
чтобы никто не понял но восхитился.
Просто у меня иные задачи — наоборот, надо, чтобы когда сдаешь работу,
Тогда было бы понятно... И ненужно.

Можно использовать и для запудривания мозга, и для облегчения, наверное, тоже. Я не создаю подобную документацию, тоже видится слишком громоздкой. Но если потребуют (мало что кому в голову стукнет), то сделаю ее за час. Просто я использую предложенные стили оформления. Раньше все страдал, картинки подобные вашим рисовал... теперь у меня есть конкретный широко известный стиль.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 9.11.2012, 17:32
Сообщение #12


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(ViKo @ 9.11.2012, 7:37) *
Раньше все страдал, картинки подобные вашим рисовал... теперь у меня есть конкретный широко известный стиль.

Да я ведь картинок-то и не рисую, линии там для другого немного.
В общем, всё красиво, но пока некуда прицепить.
Другая специфика просто.
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.3.2024, 2:32