Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: vstoykov в Apr 10, 2005, 17:48



Титла: как се пишат ударени букви
Публикувано от: vstoykov в Apr 10, 2005, 17:48
Как да настроя ГНУ/Линукс системата си за да мога лесно да въвеждам ударени букви? Мога да си направя текстов файл с такива букви и да си взимам от там като ми потрябват, но това не ми се струва много удобно.
Търсих във форума и се оказа, че този въпрос се задава за първи път.


Титла: как се пишат ударени букви
Публикувано от: romeo_ninov в Apr 10, 2005, 18:57
Според мен това опира до клавиатурен драйвер в смисъл както имаш фонетична и БДС подребда си добавяш още една само с ударени букви - те май не са много и най-използваното е ударено и


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Apr 10, 2005, 20:40
Цитат (romeo_ninov @ Април 10 2005,19:57)
Според мен това опира до клавиатурен драйвер в смисъл както имаш фонетична и БДС подребда си добавяш още една само с ударени букви - те май не са много и най-използваното е ударено и

Четох някъде за натискане на ` или ' и после буквата, която искаме да "ударим", но не разбрах дали и как се поддържа от xorg...


Титла: как се пишат ударени букви
Публикувано от: Ipolit в Apr 10, 2005, 23:10
Има една програма charmap или gucharmap включена в слака, можеш да избираш от нея.
Другия вариант е да си туриш френска клавиатурна подреба, там ударените букви са на цифрите, а цифрите се вадят с shift, макар че ако ме питаш мене, по-добре текстовия файл.


Титла: как се пишат ударени букви
Публикувано от: ivak в Apr 11, 2005, 11:12
А какво не ти харесва на "Insert/Special character" от менюто на OpenOffice (ако ползваш OpenOffice, разбира се)?


Титла: как се пишат ударени букви
Публикувано от: Hapkoc в Apr 11, 2005, 11:45
Ако не те мързи, може да прочетеш ето тук http://docs.linux.com/article....&tid=22

Това, което ти трябва се нарича dead keys и се поддържа от Xkb, просто трябва да си го направиш както на теб ти е удобно.

Всъщност ако те мързи би трябвало да го прочетеш, понеже ще ти спести доста кликания с мишката след това. :)


Титла: как се пишат ударени букви
Публикувано от: rpetrov в Apr 11, 2005, 11:58
vstoykov, добре си прочел.

Това май си го е имало винаги в X Window (X11R6) - работи при кодови таблици ISO-8859-1 и от 2001/2002(?) трябва да е налично при UTF-8.

Липсата на един файл, в който се задават тези символни комбинации, при XFree86 4.0-4.2 за кодова таблица CP1251 пречеше на много българи да използват кирилица. Без него X Window се "чупи" при тази кодова таблица. Естествено  при кодови таблици ISO-8859-5 и KOI8-R нямаше никакъв проблем. Колко ли още подводни камъни има при CP1251 ?

Кой е този файл - името му дава отговора на въпроса ти!


Титла: как се пишат ударени букви
Публикувано от: peio в Apr 11, 2005, 12:05
Това може също да ти е от помощ:
http://dtab.peio.org/?p=167


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Apr 23, 2005, 23:11
Цитат (Hapkoc @ Април 11 2005,12:45)
Ако не те мързи, може да прочетеш ето тук http://docs.linux.com/article....&tid=22

Това, което ти трябва се нарича dead keys и се поддържа от Xkb, просто трябва да си го направиш както на теб ти е удобно.

Всъщност ако те мързи би трябвало да го прочетеш, понеже ще ти спести доста кликания с мишката след това. :)

Направих следния опит:
Отворих файла, описващ клавиатурната подредба и замених това:
Примерен код

  key <LatI> {   [ Cyrillic_i,        Cyrillic_I    ]    };

с това:
Примерен код

  key <LatI> {   [ Cyrillic_i,        Cyrillic_I,       Cyrillic_a, Cyrillic_A          ]    };



Добавих и това:
Примерен код

 include "level3(ralt_switch_multikey)"


По този начин чрез натискане на десен Alt и клавиша 'и' се появява 'a'. Само че няма  Cyrillic_ударено_i. Ако имаше щях да сложа него там...

Опитах и това:
Примерен код

 key <AC11> { [dead_acute, dead_diaeresis, apostrophe,        quotedbl ] };


(преписах го то us_intl)
но пищи като натисна някой клавиш след като съм натиснал '.


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Apr 24, 2005, 21:16
ДжаваСкрипт, който позволява писане на ударени гласни в уеб форми:

http://d.linux-bg.org/download/distros/VS_Live/accent.html

снимка на екрана


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Apr 25, 2005, 21:40
Направих първата работеща версия на клавиатурна подредба с възможност за писане на ударени букви. Тази версия може да удря само буквата и.

Това е файла /etc/X11/xkb/symbols/pc/bg:

http://d.interbild.net/vstoykov/tmp/screenshots/accented/bg_working1

за да се ползва:

 Option     "XkbLayout" "us,bg(phonetic2)"

Обърнете внимание на двойката.

Някои програми пищят, че имало някаква грешка:
http://d.interbild.net/vstoyko....o_i.png

Някои по-важни редове:
Примерен код

// Във файла /usr/include/X11/keysymdef.h няма дефиниция за ударено и.
// Затова пишем кода на буквата:
  key <LatI> {   [ Cyrillic_i,        Cyrillic_I,       0x100045D,    0x100040D     ]    };

// за да могат да се пишат ударени букви с натискане на Alt+Буквата
  include "level3(ralt_switch_multikey)"


Не знам кодовете на другите ударени букви. Не съм наясно с меките и твърди ударения. Това ударено и е може би с твърдо ударение. Не съм убеден, че това именно е удареното и, което трябва да се ползва.

Тук ще се опитам да го напиша:
главно: &#1037;
малко: &#1117;
но явно не се получава...


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Apr 25, 2005, 22:02
Цитат от:
http://en.wikipedia.org/wiki/Cyrillic_alphabet:

Цитат

Unicode does not include accented Cyrillic letters, but they can be combined by adding U+0301 ("combining acute accent") after the accented vowel (e.g., ы&#769; э&#769; ю&#769; я&#769;). Some languages (e.g., modern Church Slavonic) still are not fully supported.


До колкото разбрах в Юникод няма ударени букви???


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Apr 25, 2005, 22:19
Цитат от:
http://www.unicode.org/faq/char_combmark.html
Цитат

Q: Doesn't canonical equivalence mean that no Unicode-conformant process can treat canonically equivalent sequences differently in any way?

A: No. That is too strong a statement about canonical equivalence. Let's take a look at a simple example:

<00C1> a-acute and the sequence <0041 0301> a+combining acute are canonically equivalent sequences.
However, that doesn't mean that "no Unicode-conformant processs should treat them differently in any way." A Unicode-conformant process could declare that it does not interpret combining marks, in which case, for it, <0041 0301> is a sequence of <0041> plus an uninterpreted character. And trivially, a Unicode-conformant process allocating a buffer for character storage clearly has to treat <00C1> and <0041 0301> differently, since the amount of storage required differs.

What canonical equivalence is supposed to mean is that if a Unicode- conformant process interprets all the code points involved in the canonical equivalence, it should not insist on an interpretive difference in the two as constituting some kind of character meaning difference. Thus what is non-conformant would be for Process A to hand Process B <00C1>, i.e. a-acute, for Process B to acknowledge that it got <0041 0301>, i.e. a-acute, and then for Process A to insist that Process B is non-conformant. That insistence would itself be non-conformant, since Process B was within its rights, by virtue of canonical equivalence. [KW]


Струва ми се, че не го разбирам (не разбирам добре английски).


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Apr 25, 2005, 22:39
Направих нова версия на клавиатурната подредба. Вече могат да се пишат всички ударени букви  :D  :D  :D  :D  :D

http://d.interbild.net/vstoykov/tmp/screenshots/accented/bg_working2

За да напишете ударена буква, трябва да напишете буквата, която смятате да  ударите и да натиснете десен Alt + ` (там където се намира ч-то на фонетичната клавиатура).

Работи при настройка:

Примерен код

Option     "XkbLayout" "us,bg(phonetic2)"


но смятам утре да го приспособя и за подредбата БДС. Очаквам предложения с кой клавиш да се пише знакът за ударение (този знак  се слага след буквата, която удряме; кода му е U+0301 ("combining acute accent")).


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Apr 26, 2005, 19:13
В същост кода на ударението трябва да бъде U+0300 - това е кода на твърдото ударение (grave), което се ползва в български език.
В новата версия е предвидена възможност да се пишат и меки ударения (acute) с натискане на Alt+Shift+ч.

http://d.interbild.net/vstoykov/tmp/screenshots/accented/bg_working3

Старията за ударение в Уикипедия


Титла: как се пишат ударени букви
Публикувано от: rpetrov в Apr 29, 2005, 15:12
Цитат
0300   COMBINING GRAVE ACCENT
   = Greek varia
   -> 0060 grave accent
   -> 02CB modifier letter grave accent

0301   COMBINING ACUTE ACCENT
   = stress mark
   = Greek oxia, tonos
   -> 0027 apostrophe
   -> 00B4 acute accent
   -> 02B9 modifier letter prime
   -> 02CA modifier letter acute accent
   -> 0384 greek tonos

За "удареното и" в българския език се ползва по-скоро "ACUTE ACCENT". Символа "GRAVE ACCENT" е с обратен наклон.

Относно предложеното разширение за клавиша [ i ]:
Цитат
040D   CYRILLIC CAPITAL LETTER I WITH GRAVE
   := 0438 и 0300
045D   CYRILLIC SMALL LETTER I WITH GRAVE
   * Macedonian
   := 0438 и 0300
. Ако ударението е с обратен наклон добре, но понеже мисля, че ние използваме ударение с нормален  наклон, то трябва да се дефинира друг символ.

Приложените модификации може да работят само при UTF-8. Не става за UNICODE символите като 0300 и 0301, да се използват подобните им 0060(grave) и 0027(apostrophe) от осем-битовите таблици, защото вече се губи смисъла им на "комбиниращи" символи.


И едно питане - къде работят комбинираните символи, т.е.  кои програми разбират, че това са специални комбинации и трябва да се показват символите един върху друг, а не един след друг ?


Титла: как се пишат ударени букви
Публикувано от: vstoykov в May 04, 2005, 22:49
Цитат
И едно питане - къде работят комбинираните символи, т.е.  кои програми разбират, че това са специални комбинации и трябва да се показват символите един върху друг, а не един след друг ?
Работи в Mozilla Firefox, KWrite, програмите, които ползват GTK (в диалога Open и др.). С AbiWord не става.


Титла: как се пишат ударени букви
Публикувано от: rpetrov в May 05, 2005, 12:40
сигурно са ти по-нови версиите  ???

в kwrite (kate) ако има символна поредица с комбинираните символи маркиране/редактиране след символ U030? е ужасно.

редактора на гноме (gtk2 но трябва да видя версията и на gtk2 и на gnome) не е чувал за такива неща.


Титла: как се пишат ударени букви
Публикувано от: vstoykov в May 06, 2005, 09:38
Цитат
сигурно са ти по-нови версиите ???

в kwrite (kate) ако има символна поредица с комбинираните символи маркиране/редактиране след символ U030? е ужасно.

редактора на гноме (gtk2 но трябва да видя версията и на gtk2 и на gnome) не е чувал за такива неща.
В gedit не съм пробвал. Пробвах в диалога Open на програма, която ползва GTK - там където се пише името на файла.


Титла: как се пишат ударени букви
Публикувано от: Sandev в May 08, 2005, 13:06
Цитат
За "удареното и" в българския език се ползва по-скоро "ACUTE ACCENT". Символа "GRAVE ACCENT" е с обратен наклон.

Относно предложеното разширение за клавиша [ i ]:
Цитат
040D   CYRILLIC CAPITAL LETTER I WITH GRAVE
   := 0438 и 0300
045D   CYRILLIC SMALL LETTER I WITH GRAVE
   * Macedonian
   := 0438 и 0300
Ако ударението е с обратен наклон добре, но понеже мисля, че ние използваме ударение с нормален  наклон, то трябва да се дефинира друг символ.
Позволи ми да те поправя.
Не съм лингвист, но малко разбирам от ударения:
1. grave (от латински: "твърдо") наклонено наляво;
2. acute (от латински: "меко") наклонено надясно.

В българския език графично се използва само твърдото ударения. (за справка: "Правописен речник на българския език", С. 1970; <a href="http://www.eurodict.koralsoft.com/" target="_blank">"Eurodict" на Koralsoft</a>).

Удареното и е местоимение и отговаря на остарялата форма "ней". Пише се с ударение, за да се отличава от съюза "и".

Както си написал по-горе, символът за ударено и е дефиниран в Уникод, и не е нужна комбинацията на "и" със знак за ударение.


Титла: как се пишат ударени букви
Публикувано от: vstoykov в May 09, 2005, 21:50
Нова версия на клавиатурната подредба:
http://d.interbild.net/vstoykov/tmp/screenshots/accented/bg_08-05-2005

Примерни настройки на xorg.conf:

Примерен код

За фонетична:
   Option     "XkbLayout" "us,bg(phonetic)"

За БДС:
   Option     "XkbLayout" "us,bg(bds)"

За БДС:
   Option     "XkbLayout" "us,bg"



Ударена буква се пише като се напише самата буква и след  нея се въведе символът за ударение, чрез натискане и задържане на десния Alt и настискане на <TLDE> (това е "`" при фонетичната подредба и ")" при БДС).

Инсталацията става като се запише на мястото на този файл: "/etc/X11/xkb/symbols/pc/bg".


Титла: как се пишат ударени букви
Публикувано от: vstoykov в May 09, 2005, 23:22
Беседата към статията за ударение в Уикипедия


Титла: как се пишат ударени букви
Публикувано от: rpetrov в May 09, 2005, 23:48
Знакът за ударение
Уикипедия беседа:Пясъчник :p
А аз съм в отбора с http://metodii.com/i_acute.gif  :D

Е така е, като си нямаме два вида ударения, а само твърдо  ???


Титла: как се пишат ударени букви
Публикувано от: rpetrov в May 10, 2005, 16:15
Цитат (rpetrov @ Април 11 2005,11:58)
Липсата на един файл, в който се задават тези символни комбинации, при XFree86 4.0-4.2 за кодова таблица CP1251 пречеше на много българи да използват кирилица. Без него X Window се "чупи" при тази кодова таблица. Естествено  при кодови таблици ISO-8859-5 и KOI8-R нямаше никакъв проблем. Колко ли още подводни камъни има при CP1251 ?

Кой е този файл - името му дава отговора на въпроса ти!

Липсващи файл е
 /usr/X11R6/lib/X11/locale/microsoft-cp1251/Compose => compose key ~= Multi_key


Примерна настройка на клавиатурата
Цитат
setxkbmap \
  -model pc105 \
  -layout us,bg \
  -variant ,phonetic \
  -option \
  -option grp:alt_shift_toggle \
  -option grp_led:scroll \
  -option compose:menu

При тази настройка за Multi_key се използва клавиша [MENU] .
Разгледай във файла "/usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose" редове 1450-1500.
При шрифт като ClearlyU, в който има символ за ударено с дясно ударение и, т.е. символи U045D за малкото и U040D за голямото, би трябвало да работи навсякъде .

За ударение при останалите гласни, в този файл може да се дефинират и символни последователности с диакритични знаци.


Титла: как се пишат ударени букви
Публикувано от: vstoykov в May 10, 2005, 18:09
Цитат (rpetrov @ Май 10 2005,17:15)
Липсващи файл е
 /usr/X11R6/lib/X11/locale/microsoft-cp1251/Compose => compose key ~= Multi_key

При мен го няма този файл...
Инсталирал съм x11-6.8.2-i486-1.tgz от Slackware-current.


Примерен код

valentin@darkstar:/usr/X11R6/lib/X11/locale/microsoft-cp1251$ ls
XI18N_OBJS  XLC_LOCALE
valentin@darkstar:/usr/X11R6/lib/X11/locale/microsoft-cp1251$



Титла: как се пишат ударени букви
Публикувано от: rpetrov в May 11, 2005, 18:03
;) май бе оправено в XFree 4.3


решението е добавяне на редове в Compose и май няма начин да работи при осем-битови кодови таблици - така че UTF-8


Титла: как се пишат ударени букви
Публикувано от: vstoykov в May 11, 2005, 18:51
Цитат (rpetrov @ Май 11 2005,19:03)
;) май бе оправено в XFree 4.3


решението е добавяне на редове в Compose и май няма начин да работи при осем-битови кодови таблици - така че UTF-8

Кое няма да работи?

Примерен код

valentin@darkstar:~$ locale
LANG=bg_BG
LC_CTYPE="bg_BG"
LC_NUMERIC="bg_BG"
LC_TIME="bg_BG"
LC_COLLATE="bg_BG"
LC_MONETARY="bg_BG"
LC_MESSAGES="bg_BG"
LC_PAPER="bg_BG"
LC_NAME="bg_BG"
LC_ADDRESS="bg_BG"
LC_TELEPHONE="bg_BG"
LC_MEASUREMENT="bg_BG"
LC_IDENTIFICATION="bg_BG"
LC_ALL=
valentin@darkstar:~$ locale charmap
CP1251
valentin@darkstar:~$


С тези настройки в Mozilla Firefox и  KWrite могат да се пишат ударени букви (вътрешно се ползва UTF-8). В xterm  не може.


Титла: как се пишат ударени букви
Публикувано от: rpetrov в May 11, 2005, 19:57
А записа ли въведеното от kwrite в осем-битова кодова таблица.

А къде се конвертират символи U030* от UNICODE в осем-битова, за да работи ?


Титла: как се пишат ударени букви
Публикувано от: vstoykov в May 14, 2005, 20:27
Цитат (rpetrov @ Май 11 2005,20:57)
А записа ли въведеното от kwrite в осем-битова кодова таблица.

А къде се конвертират символи U030* от UNICODE в осем-битова, за да работи ?

Не става да с запише в 8-битова таблица. Новите програми вече ползват почти само utf-8 (дори и когато LANG=bg_BG.cp1251) така че това не е проблем.


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Aug 08, 2005, 22:46
Нова версия на клавиатураната подредба:
http://vstoykov.hit.bg/tmp/bg_07082005

Mоже да се пише ы и э при активна фонетична подредба чрез клавишна комбинация Alt_Gr+я и Alt_Gr+ж. Alt_Gr е в същност десния Alt. Избрах Я и Ж, защото на клавиатурите с изписани букви по БДС там са изобразени съответните букви. За да се напише главна буква трябва след натискане (и задържане) на Alt_Gr да се натисне и задържи Shift и чак тогава да се натисне съответния клавиш (q или v).


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Aug 09, 2005, 22:37
Обнових клавиатурната подредба:
http://vstoykov.hit.bg/tmp/bg_09082005

Може да се пише ё и Ё съответно чрез натискане на AltGr+\  и AltGr+Shift+\.


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Dec 10, 2005, 23:50
В OpenOffice.org 2.0 могат да се пишат ударени букви:
http://vstojkov.hit.bg/tmp3/vs_live_ooo.png

За съжаление няма възможност проверката на правописа да се настрои така, че да игнорира ударенията. При търсенето също.

Тук се опитах да обясня на английски за проблема:
http://qa.openoffice.org/issues/show_bug.cgi?id=59191


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Feb 12, 2006, 00:10
Имам проблеми с новата версия на X.org 6.9.0:
Примерен код

The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            No Symbols named "ralt_switch_multikey" in the include file "level3"
>                   Exiting
>                   Abandoning symbols file "phonetic_new"
>                   Abandoning symbols file "phonetic"
>                   Abandoning symbols file "default"
Errors from xkbcomp are not fatal to the X server


Това е част от файла с клавиатурната подредба:

Примерен код

  key <RALT> {   [ Alt_R,             Meta_R              ]    };
  include "level3(ralt_switch_multikey)"


Не може да се превключва на кирилица, ако го има втория ред. При премахването му не може да се ползва десния алт (AltGr) за писане на ударени букви.
Цялата клавиатурна подредба (в началото на проблемните редове е сложен знак за коментар):
http://d.interbild.net/vstoykov/tmp/screenshots/accented/bg_12022006


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Feb 12, 2006, 13:13
Реших проблема. Промених проблемните редове така:
Примерен код

  key <RALT> {   [ Alt_R,             Meta_R              ]    };
  include "level3(ralt_switch)"


Файлът е обновен:
http://d.interbild.net/vstoykov/tmp/screenshots/accented/bg_12022006


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Feb 27, 2006, 20:38
Нова версия:

http://d.interbild.net/vstoykov/tmp/screenshots/accented/bg_27022006

Забелязах, че има съобщения за грешка:
Примерен код

The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
>                   Ignoring extra symbols
Errors from xkbcomp are not fatal to the X server

но не мога да разбера защо.


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Feb 28, 2006, 20:00
Проблемът е оправен.
Нова версия:
http://d.interbild.net/vstoykov/tmp/screenshots/accented/bg_28022006

Добавена е възможност за писане на някои гръцки букви.
С AltGr+ клавиши от реда с цифрите могат да се пишат знаците "№?§°№–"


Титла: как се пишат ударени букви
Публикувано от: vstoykov в Jul 17, 2007, 21:04
Направих нова версия - работи със Slackware 12.0:

http://vstojkov.hit.bg/bg.25-12-2008

Заменя този файл: /etc/X11/xkb/symbols/bg (разбира се е добре да направите архив преди това).