W3C home > Mailing lists > Public > public-i18n-bidi@w3.org > January to March 2014

Re: [css-text] Arabic letters connecting between elements with display: inline

From: Aharon (Vladimir) Lanin <aharon@google.com>
Date: Tue, 18 Feb 2014 12:15:49 +0200
Message-ID: <CA+FsOYYFzOU8Sr1fc2D0TJ_xqDgc=CXTiKwBY5c9U55ErGcwDQ@mail.gmail.com>
To: Behdad Esfahbod <behdad@behdad.org>
Cc: fantasai <fantasai.lists@inkedblade.net>, Simon Montagu <smontagu@mozilla.com>, Behdad Esfahbod <behdad@google.com>, "Amir E. Aharoni" <amir.aharoni@mail.huji.ac.il>, jfkthame@gmail.com, "public-i18n-bidi@w3.org" <public-i18n-bidi@w3.org>, "www-style@w3.org" <www-style@w3.org>, WWW International <www-international@w3.org>
> add to the CSS spec that positive {padding|margin}-{left|right} has the
effect of simulating a space
> at the start or end of the element (depending on the element's direction)

What I meant by "simulating a space" is to do the bidi ordering as if there
is a space there, as well as prevent joining as if there is a space (or
ZWNJ) there.



On Mon, Feb 17, 2014 at 2:37 PM, Aharon (Vladimir) Lanin
<aharon@google.com>wrote:

> >> Given that the same effect can be achieved for when one wants to prevent
> >> joining by using :before + :after to insert ZWNJ, is a new property
> really
> >> necessary?
>
> > If we can unambiguously document what constitutes a shaping break that's
> > enough.  As far as we know Arabic is the only script affected, so it's a
> bit
> > hard to think in more general terms.  But then again, you can't really
> > convince, say, a Wordpress theme developer to add :after=ZWNJ to "fix"
> Arabic...
>
> Arabic script definitely isn't the only one involved. Certainly add to
> that the Indic scripts (because of virama) and even German (see
> http://en.wikipedia.org/wiki/Zero-width_non-joiner).
>
> Nevertheless, if we add to the CSS spec that positive
> {padding|margin}-{left|right} has the effect of simulating a space at the
> start or end of the element (depending on the element's direction), then the
> vast majority of cases will just take care of themselves (since it is
> highly unlikely that someone would turn a block element inline without
> adding some sort of spacing).
>
> >> As for letter-spacing, wouldn't it be a lot more useful if it joined the
> >> letters with a longer line (tatweel-like), not leaving a space between
> them?
> > True.
>
> Should we start a separate thread for that? Obviously, when I suggested
> it, I meant it for Arabic script characters only. It then occurred to me
> that this might also be useful for Indic scripts (to get a continuous bar
> at the top despite letter spacing), but that appears to be definitely a bad
> idea; see
> http://lists.w3.org/Archives/Public/public-i18n-indic/2013OctDec/0013.html
>
>
> On Thu, Feb 13, 2014 at 9:48 PM, Behdad Esfahbod <behdad@behdad.org>wrote:
>
>> On 14-02-13 06:38 AM, Aharon (Vladimir) Lanin wrote:
>> >> I'll go as far as saying that a new property might be in order.  For
>> example,
>> >> I can imagine, though not find in my references, that depending on
>> taste, one
>> >> may or may not want joining in a drop-cap in Arabic.
>> >
>> > Besides a value that prevents joining (i.e. puts a virtual ZWNJ at both
>> ends)
>> > and a value that does nothing, do you think that a value that forces
>> joining
>> > (i.e. puts ZWJ at both ends) is also useful / necessary?
>>
>> No.  And that's not what I was implying.
>>
>> > Given that the same effect can be achieved for when one wants to prevent
>> > joining by using :before + :after to insert ZWNJ, is a new property
>> really
>> > necessary?
>>
>> If we can unambiguously document what constitutes a shaping break that's
>> enough.  As far as we know Arabic is the only script affected, so it's a
>> bit
>> hard to think in more general terms.  But then again, you can't really
>> convince, say, a Wordpress theme developer to add :after=ZWNJ to "fix"
>> Arabic...
>>
>>
>> >> I don't think padding / margins should be relevant at all.
>>  Letter-spacing
>> >> doesn't disable Arabic shaping.  Why should any other space do?
>> >
>> > Because padding and margin are used to separate logically separate
>> pieces of
>> > text. As for letter-spacing, wouldn't it be a lot more useful if it
>> joined the
>> > letters with a longer line (tatweel-like), not leaving a space between
>> them?
>>
>> True.
>>
>> > And if the answer is no, then it is obviously for some very special
>> > application when one really does want spaces between letters that should
>> > normally be joined, and no lesson can be learned from letter-spacing for
>> > padding and margin. I do realize that sometimes, mostly for educational
>> > purposes, one wants letters that are normally joined to be displayed
>> with a
>> > space between them, but still shaped like they would be without the
>> space, but
>> > I think that this is a very rare use case, and it could be achieved by
>> using
>> > ZWJ when necessary..
>>
>> I've seen many Persian blogs just use a theme that had letterspacing for
>> the
>> title, and they seemed to be fine with it, or didn't know better.
>>
>> >
>> > On Wed, Feb 12, 2014 at 4:45 PM, Behdad Esfahbod <behdad@behdad.org
>> > <mailto:behdad@behdad.org>> wrote:
>> >
>> >     On 14-02-07 03:44 PM, fantasai wrote:
>> >     >
>> >     > The issue is (as the title says) whether Arabic letters connect
>> between
>> >     > elements with 'display: inline', for example in this case:
>> >     >   <p>foo<span color="blue">bar</span>baz</p>
>> >
>> >     By default, they should, even if the spans use different fonts.
>>  AFAIK no
>> >     browser currently does this, but it's good to document and require
>> it.
>> >
>> >     I'll go as far as saying that a new property might be in order.
>>  For example,
>> >     I can imagine, though not find in my references, that depending on
>> taste, one
>> >     may or may not want joining in a drop-cap in Arabic.
>> >
>> >     I don't think padding / margins should be relevant at all.
>>  Letter-spacing
>> >     doesn't disable Arabic shaping.  Why should any other space do?
>> >
>> >     As for what should by default disable shaping across boundaries, I
>> don't know.
>> >      Whatever initiates bidi:isolate is a good starting place indeed.
>> >
>> >     --
>> >     behdad
>> >     http://behdad.org/
>> >
>> >
>>
>> --
>> behdad
>> http://behdad.org/
>>
>
>
Received on Tuesday, 18 February 2014 10:16:38 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:24:40 UTC