Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Предыдущая тема Следующая тема Перейти вниз

Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  Albom в Вс Ноя 14, 2010 9:57 am

Неудовлетворённый текущим положением дел с кириллическими шрифтами в FreeBasic, написал библиотеку их русификации. Конечно, можно было сделать всё проще, но тогда потребовалось перекомпилирование FreeBasic. В общем, подключение библиотеки производится после первого screen - следующая за ним строка:

Код:
 #Include Once "albom_font.bi"

В итоге можем печатать русский текст стандартными операторами Print и Input (Input, к сожалению, русские символы для ввода не принимает):



Библиотеку скачиваем с "народа": http://narod.ru/disk/27440637000/albom_font_0.1.zip.html
Пишем здесь пожелания и замечания. Выкладываем хорошие шрифты и таблицы перекодировки (о форматах расскажу позже, если кого-то заинтересует).
avatar
Albom

Сообщения : 10
Дата регистрации : 2010-10-04
Возраст : 32
Откуда : Харьков

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  trew в Вс Ноя 14, 2010 12:48 pm

Скачал, спасибо!

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  Котоёж в Вс Ноя 28, 2010 4:49 pm

Большое спасибо! Наконец то =) Я до сих пор пользовался нарисованными мной шрифтами и Draw String. Теперь можно меньше заморачиваться. Very Happy
avatar
Котоёж

Сообщения : 15
Дата регистрации : 2008-12-21
Возраст : 27
Откуда : Россия, Томск

Посмотреть профиль http://fotoncat.heliohost.org/

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  Albom в Вс Ноя 28, 2010 5:06 pm

Пожалуйста! Пользуйтесь на здоровье!
avatar
Albom

Сообщения : 10
Дата регистрации : 2010-10-04
Возраст : 32
Откуда : Харьков

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  Albom в Вт Дек 28, 2010 10:26 pm

Версия 0.2. Теперь со вкусом мёда и лимона. Добавлена родная кодировка 866. Теперь проще выводить кириллические символы и в текстовом, и в графических режимах. Однако редактор fbedit ужасно работает с этой кодировкой (просматривать текст в этой кодировке можно при помощи моих ttf шрифтов в 866 кодировке, а вот редактирование невозможно - нужно менять раскладку).

http://narod.ru/disk/2352971001/albom_font_0.2.zip.html
avatar
Albom

Сообщения : 10
Дата регистрации : 2010-10-04
Возраст : 32
Откуда : Харьков

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  trew в Чт Дек 30, 2010 10:14 pm

Albom пишет:Версия 0.2. Теперь со вкусом мёда и лимона. Добавлена родная кодировка 866. Теперь проще выводить кириллические символы и в текстовом, и в графических режимах. Однако редактор fbedit ужасно работает с этой кодировкой (просматривать текст в этой кодировке можно при помощи моих ttf шрифтов в 866 кодировке, а вот редактирование невозможно - нужно менять раскладку).

http://narod.ru/disk/2352971001/albom_font_0.2.zip.html

Скачал, спасибо.
Вот еще бы FBEDIT по нормальному работал бы со шрифтами, а то что то скопировать из него (русское) и вставить в другой редактор,полная ж.па
Похоже KetilO-автор редактора пропал.... Sad

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  ruddy в Пт Ноя 25, 2011 12:18 pm

trew пишет:Вот еще бы FBEDIT по нормальному работал бы со шрифтами, а то что то скопировать из него (русское) и вставить в другой редактор,полная ж.па
Уважаемый "trew", удалось ли Вам "сломать" ситуацию со шрифтами?
Может быть, кто-нибудь скажет что-нибудь обнадеживающее?
Рассматривается редактор FBEdit (только!) в операционной системе Windows (только!), все варианты которой понимают кодировку cp866 (DOS) – в ней, например, выводятся беленькие буковки на черном экране при загрузке системы... Вопрос: Что нужно сделать, чтобы редактор FBEdit правильно отображал в своем окне редактирования (к слову, как правильно называются отдельные окошки редактора?) текст (листинг программы, включая комментарии на русском), набранный в любом другом редакторе и сохраненный в виде текстового файла в кодировке cp866 (DOS)?
avatar
ruddy

Сообщения : 15
Дата регистрации : 2011-11-14
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  trew в Пт Ноя 25, 2011 2:48 pm

ruddy пишет:
trew пишет:Вот еще бы FBEDIT по нормальному работал бы со шрифтами, а то что то скопировать из него (русское) и вставить в другой редактор,полная ж.па
Уважаемый "trew", удалось ли Вам "сломать" ситуацию со шрифтами?
Может быть, кто-нибудь скажет что-нибудь обнадеживающее?
Рассматривается редактор FBEdit (только!) в операционной системе Windows (только!), все варианты которой понимают кодировку cp866 (DOS) – в ней, например, выводятся беленькие буковки на черном экране при загрузке системы... Вопрос: Что нужно сделать, чтобы редактор FBEdit правильно отображал в своем окне редактирования (к слову, как правильно называются отдельные окошки редактора?) текст (листинг программы, включая комментарии на русском), набранный в любом другом редакторе и сохраненный в виде текстового файла в кодировке cp866 (DOS)?

1) Евгений! trew=haav.Здесь я уже все написал , что знал по поводу шрифтов.
2) Albom , написавший библиотеку шрифтов, не стал бы утруждаться, если бы были более легкие пути решения этой проблемы.
3) Если Вам это очень сильно нужно, можете взять исходные тексты компилятора или редактора FbEdit и править под себя. Тогда может быть будут те символы, какие вы хотите. В обоих случаях вам будет нужно:

а) Знать 100% FreeBasic
б) Не полностью , но знать С++ , а в случае с редактором ассемблер
в) Иметь хорошие знания о компиляции и компиляторах
г) Потратить немалое время на изучение исходных текстов компилятора или редактора


trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  ruddy в Пт Ноя 25, 2011 3:25 pm

Какая неожиданная встреча – здрасьте! Уверен, есть путь решения проблемы!
В каталоге программы редактора FbEdit C:\Program Files\fbedit\ два шрифта:
cft.ttf (Coding Font Tobi) и Dina.fon – оба не имеют, как мне показалось, в составе русских символов... Возможно, нужно заменить один из этих файлов.
В редакторе: Настройки > Свой шрифт > Dina.fon но для меня это почти ничего не значит – во-первых, нет уверенности, что это то, что нужно, во-вторых, на какой файл я должен его поменять...
Что значит: "мне очень сильно нужно"? А Вам, а всем?
Как металлург - в этом не сильно нуждаюсь, как нормальный человек – просто дивлюсь отсутствием интереса к этой проблеме у специалистов (или просто они лапшу на уши вешают)! Если у Вас возникнут вопросы, например, о вариантах переработки радиоактивных отходов на НПО "Маяк" не буду заставлять Вас изучать неорганическую химию, термодинамику и кинетику металлургических процессов! Просто честно признаюсь, что там возникли проблемы не металлургического, а политического характера... А в программировании какие?
avatar
ruddy

Сообщения : 15
Дата регистрации : 2011-11-14
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  Albom в Вс Ноя 27, 2011 11:15 pm

Чтобы написать библиотеку, пришлось общаться с разработчиками FreeBasic, ковыряться в коде компилятора (кстати, его легко русифицировать, т.е. внедрить кириллические шрифты по умолчанию, но делать это я не собираюсь), разбираться в форматах шрифтов, использовать чужой и писать свой софт для работы с этими шрифтами. А вот до FbEdit руки не дошли, да и надобности уже не было. Кому интересно, могут почитать о создании библиотеки:
Англоязычный форум
О библиотеке на моём блоге - http://albom85.livejournal.com/48127.html
О шрифте на моём блоге - http://albom85.livejournal.com/41804.html


Последний раз редактировалось: Albom (Пн Ноя 28, 2011 1:35 pm), всего редактировалось 2 раз(а)
avatar
Albom

Сообщения : 10
Дата регистрации : 2010-10-04
Возраст : 32
Откуда : Харьков

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  ruddy в Пн Ноя 28, 2011 1:25 pm

Уважаемый Albom, я догадывался, что проблем не из простых (и не только для инженера-металлурга)! Спасибо хотя бы за обнадеживающее: "FreeBasic легко русифицировать, т.е. внедрить кириллические шрифты по умолчанию", но, думаю, что он-то, FreeBasic, может прожить и без русификации (опять же, могу ошибаться).
А вот оболочка IDE на базе FbEdit, предназначенная для "рядового пользователя", как раз и нуждается в русификации (опять же, могу ошибаться). Беда вся в том, что при обращении http://albom85.livejournal.com/ постоянно возникает тайм-аут!
Похоже, указанная Вами страница англоязычного форума "Yet another question about codepage", действительно может пролить свет, но, увы, у меня "базовый, как у многих химиков-металлургов был немецкий... Жаль, конечно, что Вы охладели к рассматриваемой проблеме! Всегда полагал, вслед за И.А.Крыловым: "Беда, коль пироги начнет печи сапожник, а сапоги тачать пирожник"... Однако, спасибо...
avatar
ruddy

Сообщения : 15
Дата регистрации : 2011-11-14
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  dvbas в Ср Июн 20, 2012 9:55 am

А под линукс автор подобное сделать планов не имеет? FB привлёк переносимостью, а русский то оказывается и не переносится.. :-(

dvbas

Сообщения : 5
Дата регистрации : 2012-06-06

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  ruddy в Ср Июн 20, 2012 10:22 am

dvbas пишет:А под линукс автор подобное сделать планов не имеет? FB привлёк переносимостью, а русский то оказывается и не переносится.. :-(
Для подрастающего поколения стараюсь, а оно хочет, к сожалению, Windows :-)
Сейчас толкую про редактор IDE для компилятора FreeBasic с Шелковенко Андреем Васильевичем (С-Петербург)...
Велик и могуч русский язык!

avatar
ruddy

Сообщения : 15
Дата регистрации : 2011-11-14
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  trew в Ср Июн 20, 2012 12:18 pm

dvbas пишет:А под линукс автор подобное сделать планов не имеет? FB привлёк переносимостью, а русский то оказывается и не переносится.. :-(

Ничего не оказывается!

Библиотека albom_font кроссплатформенна и с помощью ее корректно отображаются русские символы. Ставите в Geany кодировку файла win1251 и запускаете этот пример:

Код:
screen 1
#Include Once "albom_font.bi"
Print "БЛАБЛАБЛА"
Sleep



trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  ruddy в Ср Июн 20, 2012 12:38 pm

[quote="trew"]
Библиотека albom_font кроссплатформенна и с помощью ее корректно отображаются русские символы. Ставите в Geany кодировку файла win1251 и запускаете этот пример:
[quote]
Простите, а от какого числа упомянутая библиотека?
avatar
ruddy

Сообщения : 15
Дата регистрации : 2011-11-14
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  dvbas в Ср Июн 20, 2012 2:51 pm

Спасибо, Print получилось, Input ещё не проверял. Причина ошибки: писал в редакторе mc, а он сохраняет в utf-8.
albom_font.bi от14.11.2010, albom_font_1251.bi от 28.12.2010. Линукс PuppyRus130.

dvbas

Сообщения : 5
Дата регистрации : 2012-06-06

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  dvbas в Ср Июн 20, 2012 3:30 pm

Ага, Input по-русски в графическом режиме отсутствует, как будто вообще нет нажатий на клавиши. И с albom_font и без них.
В консольном режиме без albom_font Input даёт отклик: на каждое нажатие русской клавиши - две кракозябры на экран. После того как эти двойные кракозябры введены в строковую переменную, последующий Рrint нормально выводит соответствующий им русский текст на консоль.
Возникает вопрос: как в линуксе вводить русский текст - в графике и консоли?

Может быть в новых версиях FB можно ожидать встроенный для этих операций юникод?

dvbas

Сообщения : 5
Дата регистрации : 2012-06-06

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  trew в Ср Июн 20, 2012 6:19 pm

dvbas пишет:Ага, Input по-русски в графическом режиме отсутствует, как будто вообще нет нажатий на клавиши. И с albom_font и без них.
В консольном режиме без albom_font Input даёт отклик: на каждое нажатие русской клавиши - две кракозябры на экран. После того как эти двойные кракозябры введены в строковую переменную, последующий Рrint нормально выводит соответствующий им русский текст на консоль.
Возникает вопрос: как в линуксе вводить русский текст - в графике и консоли?

Может быть в новых версиях FB можно ожидать встроенный для этих операций юникод?

Ну выводить то не сложно с помощью той же Print и albom_font, но команда input похоже имеет баг (такое впечатление что кодировка у нее перепутана до наоборот). Вообще конечно консольные проги давно не в моде у пользователей, может этим сказывается плохо проявленный интерес разработчиков по поддержке юникода в консоли.

В реале же для игр (графического режима) используют свои шрифты и свои диалоги и уж никак не Input. Для GUI нет проблем с юникодом. Остается только консоль, в которой я на сегодняшний день практически не встречаю русский язык. Хотя возможно что для обучения это необходимо...

Добавлено:

Я создал тему на оф. сайте по команде Input, не знаю уж решат или нет:

ЗДЕСЬ

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  trew в Чт Июн 21, 2012 2:29 pm

На винде можно вместо Input для консоли (Screen 0) использовать такое (сохранять файл в юникоде):

Код:
#Define Unicode
#Include "crt/stdio.bi"
Dim As ZString*100  s
Print "Введите что хотите:"
scanf("%s",@S)
Print S
Sleep

В первом параметре в зависимости от формата, выводится:

%a Читает значение с плавающей точкой (только C99)
%A Аналогично коду %a (только C99)
%c Читает один символ
%d Читает десятичное целое
%i Читает целое в любом формате (десятичное, восьмеричное или шестнадцатеричное)
%e Читает число с плавающей точкой
%E Аналогично коду %e
%f Читает число с плавающей точкой
%F Аналогично коду %f (только С99)
%g Читает число с плавающей точкой
%G Аналогично коду %g
%o Читает восьмеричное число
%s Читает строку
%x Читает шестнадцатеричное число
%X Аналогично коду %x
%p Читает указатель
%n Принимает целое значение, равное количеству прочитанных до сих пор символов
%u Читает десятичное целое без знака
%[] Просматривает набор символов
%% Читает знак процента

если нужно получить строку с пробелами, то нужно использовать gets:

Код:
#Define Unicode
#Include "crt/stdio.bi"
Dim As ZString*100 S
Print "Введите что хотите:"
gets(@S)
Print S
Sleep

Вроде все отображается на русском. Но для Linux у меня эти варианты работают несколько иначе. Там не видно вводимых символов , хотя после ввода в переменной русские символы. Может что настроено не так, я с линуксом не шибко дружу.


---------------------------------------------------------
Добалено позже:

TJF на оф. сайте показал пример вывода и ввода русских символов (работает на windows и Linux):

Код:
#Define Unicode
#INCLUDE "crt/stdio.bi"
DIM AS ZSTRING*100 S
DIM AS UBYTE c
VAR i = 0
print "введите строку"
WHILE (c <> ASC(!"\n"))
  c = getchar()
  putchar(c)
  S[i] = c
  i += 1 : IF i > 98 THEN EXIT WHILE
WEND : S[i] = 0

print "Вы ввели " ;S
sleep

Конечно сохраняем файл в кодировке юникода.

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Библиотека русифицированных шрифтов (в том числе для операторов Print и Input)

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения