руский язык,UTF-8 , кросплаформеность.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

руский язык,UTF-8 , кросплаформеность.

Сообщение Attid » 06.11.2006 17:29:42

в общем как этого добится
есть системы
win2k3
ubuntu 6.06

и там и там lazarus вчерашний срез
в виндовсе интерфейс win32
в линуксе gtk2

рисую окошко под виндуусом
переношу в линукс кракозябры,
перкодирую файлы в UTF-8
в венде кракозяки, в линуксе в лазаре нормально.

но стоит скомпилировать все :/ только капшен окошка отображается нормально а вот кнопы\лейбелы вывод в мемо все в кракозяки.

я даже готов в ручную перекодировать файлы, но как мне добится одинакового вида :( ??
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Sergei I. Gorelkin » 07.11.2006 11:04:40

Похоже, что нужно малость подождать. Gtk2 сам по себе работает в UTF-8, под Win32 до сих пор UTF-8 не поддерживался, но сейчас (поскольку Gtk2 становится работоспособным) начаты работы по его поддержке. Как раз капшены окошек и сделаны :)
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Attid » 07.11.2006 13:04:46

а лазарус компилирует программы в том же интерфесе что и он сам или это еще можно директивами контролировать ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Sergei I. Gorelkin » 07.11.2006 15:09:35

В диалоге опций компилятора можно выбрать WidgetSet, с которым будет собрана программа.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Attid » 07.11.2006 21:43:15

мои опасения подтвердились. проэкt компилировался все равно в gtk1 хотя сама ide была в gtk2 выставил принудительно и все прекрасно зарабботало и по русски.
еще раз выражаю вам Sergei I. Gorelkin свою благодарность.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение SergKam » 07.11.2006 21:47:09

Во первых надо при перехде из винды в линукс и обратно конверить все файлы проекта, формы и исходники. После этого в свойствах проекта выбирать gtk2(потому что по умолчанию Gtk1 который какраз UTF8 непонимает)
но стоит скомпилировать все :/ только капшен окошка отображается нормально а вот кнопы\лейбелы вывод в мемо все в кракозяки.
потому что интерфейс лазаруса на gtk2, а компилится с библиотеками gtk1.
Я так делаю.
вручную не обязательно вот скрипт для линукса назови его win2utf
Код: Выделить всё
#!/bin/sh
for x in $*
do
cp $x $x.win
iconv -f WINDOWS-1251 -t UTF-8  -o $x $x.win
done

в папке проекта выполнить
win2utf *.pas *.lfm *.lpr

а при пережоде в винду utf2win
Код: Выделить всё
#!/bin/sh
for x in $*
do
cp $x $x.utf
iconv -f UTF-8 -t  WINDOWS-1251 -o $x $x.utf
done

в папке проекта выполнить
utf2win *.pas *.lfm *.lpr
SergKam
постоялец
 
Сообщения: 251
Зарегистрирован: 16.11.2005 21:31:11
Откуда: Украина,Харьков

Сообщение Attid » 16.11.2006 18:02:59

скриптик конвертации немного переделали

называем convert

используем
convert 2utf
или
convert 2win



Код: Выделить всё
#!/bin/sh

if [ "$1" = "" ]; then
  echo "convert [2win | 2utf]";
fi

if [ "$1" = "2utf" ]; then
  for i in $(ls|grep .pas); do
    cp $i $i.win
    iconv -f WINDOWS-1251 -t UTF-8 -o $i $i.win
  done

  for i in $(ls|grep .lfm); do
    cp $i $i.win
    iconv -f WINDOWS-1251 -t UTF-8 -o $i $i.win
  done

  for i in $(ls|grep .lpr); do
    cp $i $i.win
    iconv -f WINDOWS-1251 -t UTF-8 -o $i $i.win
  done
fi

if [ "$1" = "2win" ]; then
  for i in $(ls|grep .pas); do
    cp $i $i.utf
    iconv -f UTF-8 -t WINDOWS-1251 -o $i $i.utf
  done

  for i in $(ls|grep .lfm); do
    cp $i $i.utf
    iconv -f UTF-8 -t WINDOWS-1251 -o $i $i.utf
  done

  for i in $(ls|grep .lfm); do
    cp $i $i.utf
    iconv -f UTF-8 -t WINDOWS-1251 -o $i $i.utf
  done

  for i in $(ls|grep .lpr); do
    cp $i $i.utf
    iconv -f UTF-8 -t WINDOWS-1251 -o $i $i.utf
  done
fi

Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21

Рейтинг@Mail.ru