FreeBasic
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

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

Участников: 5

Перейти вниз

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

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

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

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

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

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

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

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

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

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

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

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

trew

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

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

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

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

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

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

http://fotoncat.heliohost.org/

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

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

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

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

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

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

Библиотека русифицированных шрифтов (в том числе для операторов Print и Input) Empty 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
Albom
Albom

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

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

Библиотека русифицированных шрифтов (в том числе для операторов Print и Input) Empty 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

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

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

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

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

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

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

Библиотека русифицированных шрифтов (в том числе для операторов Print и Input) Empty 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

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

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

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

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

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

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

Библиотека русифицированных шрифтов (в том числе для операторов Print и Input) Empty 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 раз(а)
Albom
Albom

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

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

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

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

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

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

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

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

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

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

dvbas

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

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

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

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

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

ruddy
ruddy

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

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

Библиотека русифицированных шрифтов (в том числе для операторов Print и Input) Empty 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

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

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

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

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

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

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

Библиотека русифицированных шрифтов (в том числе для операторов Print и Input) Empty 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

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

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

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

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

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

dvbas

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

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

Библиотека русифицированных шрифтов (в том числе для операторов Print и Input) Empty 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

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

Библиотека русифицированных шрифтов (в том числе для операторов Print и Input) Empty 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

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

Вернуться к началу

- Похожие темы

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