Tony Mechelynck wrote: > On 05/08/10 23:15, Bram Moolenaar wrote: > > > > Boyko Bantchev wrote: > > > >> On 4 August 2010 20:15, Bram Moolenaar<[email protected]> wrote: > >>> ... > >>> Please report every problem you find! =A0The 7.3 release should not > >>> contain a problem because you didn't report it. > >>> ... > >> > >> Well, I did point out to two bugs earlier, and they are still > >> present in 7.3d. > >> > >> 1. Function input()'s echo is broken. If one executes, e.g. > >> > >> :while 1 | let s = input('') | echo "\n" | endw > >> > >> one would expect to see a succession of strings that he enters. > >> Instead, we are left with nothing but empty lines. > >> This bug seems to be very old, and seriously hampers writing > >> interactive vimscriptlets. > > > > Try this: > > > > :while 1 | let s = input('') | echo s "\n" | endw > > > > Not sure this is a bug. If someone wants to erase the typed text this > > would work now but not when making it work the way you suggest. > > > > > >> 2. Under Linux + GTK, all Unicode characters combined-accented with > >> U+0300, U+0301, ... (any of those) are incorrectly displayed: > >> the accent is either (mis)placed above the character on the left, > >> or is not displayed at all. > >> This seems to have originated with Vim 7.2. > > > > I see this too. I can fix it with this change: > > > > > > --- a/gui_gtk_x11.c 2010-07-25 15:48:22.000000000 +0200 > > +++ b/gui_gtk_x11.c 2010-08-05 23:09:43.000000000 +0200 > > @@ -5108,10 +5108,11 @@ > > > > /* There is a previous glyph, so we deal with combining > > * characters the canonical way. That is, setting the > > - * width of the previous glyph to 0. */ > > + * width of the previous glyph to 0 and set the x_offset > > + * to puth the accent glyph in the middle. */ > > glyphs->glyphs[i - 1].geometry.width = 0; > > width = cells * gui.char_width * PANGO_SCALE; > > - glyph->geometry.x_offset += > > + glyph->geometry.x_offset = > > MAX(0, width - cluster_width) / 2; > > #if 0 > > /* Dirty hack: for "monospace 13" font there is a bug that > > > > > > But that might break it for others... > > > > After applying this patch (changeset 2070b63605a7 dated 2010-08-07 > 15:46:45 +0200), my gvim display is worse than before. > > I'm using Bitstream Vera Sans Mono 8 in gvim (Huge) +gui_gtk2 +gui_gnome > and currently I'm editing a Russian dictionary, with many combining > acute accents (U+0301) over Cyrillic vowels. > > Before the patch, the accents came beautifully over the concerned > vowels. After the patch, the accent is displayed too much to the right, > between the concerned vowel and the next letter. This resembles what I > get with Times New Roman in the Mozilla SeaMonkey browser; it is not as > bad, though, as what I see with "monospace" (not sure which font this > brings) in the SeaMonkey mailer, where the accent is squarely over the > next letter, one character width to the right of where it ought to be. > > So I suspect that this is a font-related problem. Boyko, what 'guifont' > are you using? > > Bram, is it possible to know the width of the glyph, in order not to > move it so far to the right that it overshoots the next character? Also, > what will happen in Arabic, where it is common (at least in Koranic > Arabic) to have two combining characters over a single spacing letter? > For instance: in the formula, "to the name of God the Benevolent the > Merciful", bismillâh ar-rahmân ar-rahîm, > ب٠سْم٠ٱللّٰه٠ٱلرَّØÙ’مٰن٠ٱلرَّØÙ يم٠؛ > in the last (leftmost) two words (of four), the third consonant (which > goes down below the line and is not joined to the next one to its left) > has two combining signs, making it in both cases rah + shadda + fatha, > U+0631 + U+0651 + U+064E > > I'm attaching an "Arabic testcase" file which displays horribly in this > new Vim changeset. Use ":setlocal arabic" to display the Arabic text RTL > as it should be, then compare lines 87-92 (in vocalized Arabic) with > lines 94-99 (the same text without the combining characters). You should > see the same consonants, just without the combining marks (the > "harakaat" as they're called in Arabic) but that's not what I see. Some > letters move about, others disappear completely, moving the cursor over > the text makes the letters go left or right... (The unvocalized part, > lines 94-99, is displayed correctly.) > > Since this testcase is HTML, you can also view it in a browser; however > even browsers may display the consonants differently because when there > exists a digram or a trigram to make some letter-combinations "nicer", > the browser may not recognise it if there is a combining mark in the > middle. This, however, should not affect Vim, which pays no attention to > polygrams other than lam+alif.
Sorry, these scribbles don't show me what's wrong. Viewing the text in a browser looks completely different. Please try the latest version, I solved it in a slightly different way. For older GTK versions it might do the same as before. -- How To Keep A Healthy Level Of Insanity: 4. Put your garbage can on your desk and label it "in". /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ download, build and distribute -- http://www.A-A-P.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
