From: Ted Zlatanov <tzz@lifelogs.com>
To: emacs-devel@gnu.org
Subject: Re: composed characters question and suggestions for quail-cyrillic-*
Date: Tue, 08 Jul 2008 10:37:43 -0500 [thread overview]
Message-ID: <86y74ccrp4.fsf@lifelogs.com> (raw)
In-Reply-To: 87fxql8j7y.fsf@jurta.org
On Tue, 08 Jul 2008 00:42:09 +0300 Juri Linkov <juri@jurta.org> wrote:
JL> 1. It uses the acute accent to put the grave accent above letters,
JL> e.g. ("'a" ?à) ("'o" ?ò). A correct way to implement this is to use the
JL> acute accent to put the acute accent above letters, and to use the grave
JL> accent to put the grave accent above letters, as all Latin input methods
JL> do, e.g. ("'a" ?á) ("'o" ?ó) ("`a" ?à) ("`o" ?ò).
>>
>> You are right. But please note that AFAIK in Cyrillic it's rare to find
>> acute accents, so the idea was "accent the next letter" and the ' key is
>> much more convenient on modern keyboards. For Cyrillic in particular,
>> it may make sense to use ' as the accent prefix or accept it in addition
>> to `. If you still think only ` should be used, I'll commit a patch
>> immediately.
JL> Instead of the grave accent `, most Cyrillic languages (including Bulgarian,
JL> Russian, Ukrainian) use the acute accent ' to mark the stressed vowel.
JL> Please see http://en.wikipedia.org/wiki/Acute_accent#Stress for more
JL> information.
Take a look at the Unicode Cyrillic chart. Only the grave is available
for ѝ for example. They all have to be done with combining.
We still need the grave-accented ѝ Ѝ letters, too. So both ' and ` (or
something similar) will be needed as prefix keys.
JL> 2. It uses accented Latin letters à, ò that is inappropriate for
JL> Cyrillic texts. The only valid way (as I understand according to
JL> Unicode specifications) is to use combining characters.
>>
>> I think I mentioned this in an earlier post. Combining characters look
>> inconsistent and sometimes take up two lines of text in Emacs, so I
>> thought it would be acceptable to use the accented Latin letters. If
>> not, I'm OK with replacing them with the combining versions. Please
>> note I'm not an expert on this topic, so I greatly appreciate your
>> recommendations.
JL> If combining characters take two lines, then it is a bug. I remember
JL> that rendering of combining characters was correct before the Unicode
JL> merge. If it was possible to do right before the merge, maybe it will be
JL> possible to fix this in current code using the same logic?
OK. Furthermore, I can do
(insert (compose-chars ?а ?̀))
but if I try the resulting character in quail-define-rules, it's not a
valid character read sequence, being two characters. I also can't
specify the `compose-chars' function call or a string there. How do I
specify a combined character in the quail rules?
JL> 3. It turns "'" into a prefix key, but it is used to input "ь" according
JL> to the rule ("'" ?ь).
>>
>> Would it be possible to move ь under the ' prefix? As I mentioned the '
>> key is very convenient and ь is not a frequently-needed letter. It
>> actually works fine for me as it is (unless I need to type something
>> like ьо, which is rare), but I see the problem.
JL> In Bulgarian it is rare, but in Russian and Ukrainian it is very
JL> frequently used letter ;-)
Understood, but ' is the most sensible prefix for accents as well. Can
we have `' generate acute accents and ` generate grave? That's a
decent compromise since accented letters are rarely needed.
JL> 4. «»“„‘‚§№ is too limited set of necessary characters and this set is
JL> not specific to `cyrillic-translit'. Different styles of quotation
JL> marks are required by typographic rules in other several languages and
JL> scripts besides Cyrillic, and these rules also require using other
JL> symbols like dashes of different lengths, nbsp, 1/2, 1/4, subscripts,
JL> copyright, currency signs, and many more.
JL> Thanks, the characters you added are very needed. Other needed characters
JL> to add are at least ”’–—•…
See at end for proposed mappings.
JL> So instead of copying the same rules to all input method a better
JL> way is to create a separate common input method with all these
JL> special symbols and to share it with language specific input
JL> methods.
>>
>> My suggestion was essentially to build a prefix tree for Slavic
>> languages, since they share enough typographic rules, and to insert it
>> into every specific input method. Using a secondary input method works
>> better so I hope it can happen (if Kenichi Handa's patch is OK).
JL> And in another message you wrote:
>> If this can go into the trunk, I'll be glad to use it (my changes will
>> then be unnecessary). The only caution is that universal sequences are
>> not always intuitive; a good example is that I put "/ab" for paragraph
>> because that makes sense in Bulgarian ("абзац" means paragraph,
>> pronounced "abzatz"). So it would be nice to have a universal input
>> method plus custom rules at the intermediate level (e.g. cyrillic-*).
JL> It might be funny but in Russian § is named as a "paragraph sign",
JL> so your mnemonics don't work here. And "абзац" is used for a different
JL> character, actually the pilcrow. Please compare:
JL> http://ru.wikipedia.org/wiki/%C2%B6
JL> http://ru.wikipedia.org/wiki/%D0%97%D0%BD%D0%B0%D0%BA_%D0%BF%D0%B0%D1%80%D0%B0%D0%B3%D1%80%D0%B0%D1%84%D0%B0
According to
http://en.wiktionary.org/wiki/%D0%B0%D0%B1%D0%B7%D0%B0%D1%86
"абзац" is a synonym for paragraph in Russian (and comes from German, so
I learned something new :). I don't know what's exactly right here, but
we can certainly accomodate /pa as a paragraph prefix that produces §.
I would prefer to leave /ab as § as well since (AFAIK) the pilcrow is
not as common. Do you agree?
The goal is convenience for the users, so I hope we don't build a large
prefix tree. Just the limited repertoire here is already hard to
remember.
How about:
"' -> ” (compare to "" for “)
/` -> ’ (compare to /' for ‘)
/- -> –
/-- -> —
/. -> • ("big fat dot")
/.. -> … (nice typographically)
/1{2,4,8,16,32,64} -> 1/fraction (the slash moves to the beginning)
/c -> copyright
/tm -> trademark
/rub-> ruble
/kop-> kopek
/lev-> leva (л AFAIK)
/sto-> stotinki
/e -> euro
/ce -> cents
/pa -> §
plus existing
,, -> „
"" -> “
/, -> ‚
/' -> ‘
/& -> §
/ab -> §
/# -> №
/no -> №
<< -> «
>> -> »
Ted
next prev parent reply other threads:[~2008-07-08 15:37 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-13 14:27 composed characters question and suggestions for quail-cyrillic-* Ted Zlatanov
2008-06-13 15:11 ` Eli Zaretskii
2008-06-13 15:56 ` Jason Rumney
2008-06-13 18:09 ` Ted Zlatanov
2008-06-14 9:44 ` Eli Zaretskii
2008-06-14 18:55 ` Stephen J. Turnbull
2008-06-14 19:45 ` Eli Zaretskii
2008-06-18 20:17 ` Ted Zlatanov
2008-06-19 11:45 ` Kenichi Handa
2008-07-02 20:25 ` Ted Zlatanov
2008-07-03 2:29 ` Kenichi Handa
2008-07-03 19:53 ` adding consistent extra symbols to input methods (cyrillic-*, croatian-*, slov*, czech-* etc.) input methods Ted Zlatanov
2008-07-05 12:54 ` Kenichi Handa
2008-07-06 18:40 ` Juri Linkov
2008-07-06 22:54 ` Miles Bader
2008-07-10 0:09 ` Juri Linkov
2008-07-10 0:37 ` Kenichi Handa
2008-07-10 0:52 ` Juri Linkov
2008-07-10 1:44 ` Kenichi Handa
2008-07-10 1:15 ` Stefan Monnier
2008-07-10 0:27 ` Juri Linkov
2008-07-10 1:16 ` Miles Bader
2008-07-10 18:43 ` Juri Linkov
2008-07-11 2:52 ` Miles Bader
2008-07-07 1:57 ` Kenichi Handa
2008-07-07 4:39 ` Stefan Monnier
2008-07-07 5:25 ` Kenichi Handa
2008-07-07 19:42 ` Ted Zlatanov
2008-07-07 22:05 ` Juri Linkov
2008-07-13 5:11 ` Eli Zaretskii
2008-07-13 5:17 ` Miles Bader
2008-07-13 21:27 ` Juri Linkov
2008-07-14 3:18 ` Miles Bader
2008-07-14 4:43 ` Kenichi Handa
2008-07-14 21:51 ` Juri Linkov
2008-07-15 1:24 ` Kenichi Handa
2008-07-28 13:30 ` multiple input methods (was: adding consistent extra symbols to input methods) Juri Linkov
2008-07-06 18:41 ` composed characters question and suggestions for quail-cyrillic-* Juri Linkov
2008-07-07 20:12 ` Ted Zlatanov
2008-07-07 21:42 ` Juri Linkov
2008-07-08 0:48 ` Kenichi Handa
2008-07-08 10:46 ` Werner LEMBERG
2008-07-08 21:47 ` David Kastrup
2008-07-08 15:37 ` Ted Zlatanov [this message]
2008-07-08 17:38 ` James Cloos
2008-07-08 22:54 ` Juri Linkov
2008-07-09 16:02 ` Ted Zlatanov
2008-07-09 18:02 ` James Cloos
2008-07-09 18:49 ` Ted Zlatanov
2008-07-09 19:51 ` Juri Linkov
2008-07-09 18:48 ` Ted Zlatanov
2008-07-09 19:33 ` Juri Linkov
2008-07-09 22:14 ` Ted Zlatanov
2008-07-09 23:52 ` Juri Linkov
2008-07-10 12:47 ` Ted Zlatanov
2008-07-10 18:45 ` Juri Linkov
2008-07-10 19:10 ` Ted Zlatanov
2008-07-10 19:52 ` Juri Linkov
2008-07-10 20:40 ` Ted Zlatanov
2008-07-10 22:01 ` Juri Linkov
2008-07-12 20:51 ` Juri Linkov
2008-07-14 14:01 ` Ted Zlatanov
2008-07-14 21:47 ` Juri Linkov
2008-07-15 15:06 ` Ted Zlatanov
2008-07-15 20:32 ` Juri Linkov
2008-08-01 21:07 ` Ted Zlatanov
2008-08-05 21:00 ` Ted Zlatanov
2008-08-05 22:05 ` Chong Yidong
2008-07-10 22:09 ` Stefan Monnier
2008-07-10 22:54 ` Juri Linkov
2008-07-11 1:26 ` Stefan Monnier
2008-07-11 2:08 ` Kenichi Handa
2008-07-09 19:21 ` Juri Linkov
2008-07-08 15:49 ` James Cloos
2008-07-08 18:50 ` Ted Zlatanov
2008-07-08 19:50 ` James Cloos
2008-07-08 20:26 ` composed characters question and suggestions for?quail-cyrillic-* Teemu Likonen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86y74ccrp4.fsf@lifelogs.com \
--to=tzz@lifelogs.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.