Jonathan Kew | 15 Sep 16:40 2014
Picon

disabling Arabic shaping when direction is vertical

Hi Behdad,

If the harfbuzz buffer direction is vertical (TTB or BTT), I think we 
should refrain from doing Arabic shaping.[1]

We could do this, for example, by adding an early return such as
   if (unlikely (HB_DIRECTION_IS_VERTICAL (buffer->props.direction)))
     return;
in setup_masks_arabic(), so that the shaping analysis and setting of 
per-glyph features doesn't happen. WDYT?

(It's less clear to me what should be done in Indic and similar shapers, 
so I'm ignoring that for now...)

JK

[1] See CSS Writing Modes, section 5.1.1 Vertical Typesetting and Font 
Features: "...characters from horizontal cursive scripts (such as 
Arabic) are shaped in their isolated forms when typeset upright".
safa1996alfulaij | 14 Sep 22:41 2014
Picon

About building HarfBuzz on Windows

Hello.

There was some talks about libAss (in Aegisub) in Windows. One of Aegisub 
programmers said that he fail to build HarfBuzz on Windows.
I found this message when I searched for "HarfBuzz Windows" in Google:
>Hi Behdad,
>
>I want to build harfbuzz for windows... What replacement of unicode
>functions should I use? Is there any native support in windows that I can
>use to provide the unicode functions.
>
>-- 
>Samiullah Khawaja

And a reply:

>ICU is (more or less) the recommended choice. However, I actually had
>less trouble getting glib to work on Windows, but that might be fault of
>mingw.
>
>Unfortunately both ICU and glib are huge frameworks with their own set
>of dependencies. A stripped-down standalone library that provides a
>unicode character database and nothing more would be great to have.
>
>I implemented HarfBuzz support in libass, but projects like Aegisub or
>VLC still ship without HarfBuzz on Windows because the ICU/glib
>requirement is such a pain. :(
>
>Best regards
>Grigori
(Continue reading)

Simon Cozens | 12 Sep 10:40 2014

Inter-glyph spacing

Hello,
	I am moving from Pango to Harfbuzz for my typesetting application, but have 
noticed a difference in the output - in particular, the spacing between glyphs 
is not right; I think I must be doing something wrong in the rendering step.

	I set the fonts up like so:

       if (FT_New_Face(uds->ft_library, font_path, 0, &(uds->ft_face)))
         return 0;

       if (FT_Set_Char_Size(uds->ft_face,f->pointSize * 64.0, 0, 0, 0))
         return 0;

And then (largely copied from the SDL example)

     hb_ft_font = hb_ft_font_create(uds->ft_face, NULL);
     buf = hb_buffer_create();
     if (f->script)
       hb_buffer_set_script(buf, hb_tag_from_string(f->script, 
strlen(f->script)));
     if (f->direction)
       hb_buffer_set_direction(buf, f->direction);
     if (f->lang)
       hb_buffer_set_language(buf, 
hb_language_from_string(f->lang,strlen(f->lang)));

     /* Layout the text */
     hb_buffer_add_utf8(buf, text, strlen(text), 0, strlen(text));
     hb_shape(hb_ft_font, buf, NULL, 0);

(Continue reading)

CHEN Xian’an | 11 Sep 12:01 2014
Picon

(no subject)


Uvaraja Pandian | 11 Sep 11:06 2014
Picon

[Harfbuzz] Issue in Malayalam String Rendering

Hi  Team,

 

We are using the Harfbuzz 0.9.34 version.

 

While rendering the Malayalam string using the Harfbuzz and Freetype engine, we see some issues.

 

String used: ക്കേ

Unicode value: 0x0d15, 0x0d4d, 0x0d15, 0x0d47, 0x0000 

 

Harfbuzz Output:

 

Proper Output :

 

Font File used: Akruti Family, Since this is a licensed font file, we are not able to share it.

 

Issue in Detail:

 

In the font file,

script mlym {

  # Malayalam

  feature Akhands;

  feature BelowBaseSubstitutions;

  feature HalfForms;

  feature PostBaseForms;

  feature PostBaseSubstitutions;

  feature PreBaseSubstitutions;

}

 

As per the Harfbuzz implementation, below substitution is happening as part of the HalfForms ,

0x0d15 & 0x0d4d è XYZ character,

 

so the output is XYZ, 0x0d15, 0x0d47

 

Final re-ordering happens and rearranges as below,

XYZ, 0x0d15, 0x0d47 è XYZ, 0x0d47, 0x0d15

 

As per the PreBaseSubstitutions,

XYZ & 0x0d15 is not matched and the output is not proper.

 

In-Order to solve this issue, below changes has been done,

 

Final Re-ordering,

PSB for the code changes

 

As per the PreBaseSubstitutions,

XYZ & 0x0d15 forms the final character.

 

Code Modifications:

In the file hb-ot-shape-complex-indic.cc, if we modify the lines as below in the function final_reordering_syllable() it is working,

 

  if (start + 1 < end && start < base) /* Otherwise there can't be any pre-base matra characters. */

  {

          /* If we lost track of base, alas, position before last thingy. */

          unsigned int new_pos = base == end ? base - 2 : base - 1;

 

    /* Malayalam / Tamil do not have "half" forms or explicit virama forms.

     * The glyphs formed by 'half' are Chillus or ligated explicit viramas.

     * We want to position matra after them.

     */

          if (buffer->props.script != HB_SCRIPT_MALAYALAM && buffer->props.script != HB_SCRIPT_TAMIL)

         {

                       

          }

 

                       if (start < new_pos && info[new_pos].indic_position () != POS_PRE_M)

                       {

                              …

                       } else {

                              

                       }

        }

  }

 

Please comment, will it have any side effect.

 

Best Regards,

Uvaraja P.

Sindhura P.

<div><div dir="ltr">
<p class="MsoNormal">Hi &nbsp;Team,</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">We are using the Harfbuzz 0.9.34 version.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">While&nbsp;rendering&nbsp;the&nbsp;Malayalam&nbsp;string&nbsp;using the Harfbuzz and Freetype engine, we see some issues.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">String&nbsp;used:&nbsp;<span>&#3349;&#3405;&#3349;&#3399;</span></p>
<p class="MsoNormal">Unicode value:&nbsp;0x0d15, 0x0d4d, 0x0d15, 0x0d47, 0x0000&nbsp;</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Harfbuzz Output:</p>
<p class="MsoNormal"></p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Proper Output :</p>
<p class="MsoNormal"></p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Font File used:&nbsp;Akruti Family,&nbsp;Since this is a licensed font file, we are not able to share it.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Issue in Detail:</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">In the font file,</p>
<p class="MsoNormal">script mlym {</p>
<p class="MsoNormal">&nbsp; # Malayalam</p>
<p class="MsoNormal">&nbsp; feature Akhands;</p>
<p class="MsoNormal">&nbsp; feature BelowBaseSubstitutions;</p>
<p class="MsoNormal">&nbsp; feature&nbsp;HalfForms;</p>
<p class="MsoNormal">&nbsp; feature PostBaseForms;</p>
<p class="MsoNormal">&nbsp; feature PostBaseSubstitutions;</p>
<p class="MsoNormal">&nbsp; feature&nbsp;PreBaseSubstitutions;</p>
<p class="MsoNormal">}</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal"><span>As per the Harfbuzz implementation, below substitution is happening as part of the HalfForms ,</span></p>
<p class="MsoNormal"><span>0x0d15 &amp; 0x0d4d&nbsp;</span><span>&egrave;</span><span>&nbsp;XYZ character,</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>so the output is XYZ, 0x0d15, 0x0d47</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Final re-ordering happens and rearranges as below,</span></p>
<p class="MsoNormal"><span>XYZ, 0x0d15, 0x0d47&nbsp;</span><span>&egrave;</span><span>&nbsp;XYZ, 0x0d47, 0x0d15</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>As per the PreBaseSubstitutions,</span></p>
<p class="MsoNormal"><span>XYZ &amp; 0x0d15 is not matched and the output is not proper.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>In-Order to solve this issue, below changes has been done,</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Final Re-ordering,</span></p>
<p class="MsoNormal"><span>PSB for the code changes</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>As per the PreBaseSubstitutions,</span></p>
<p class="MsoNormal"><span>XYZ &amp; 0x0d15 forms the final character.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Code Modifications:</span></p>
<p class="MsoNormal"><span>In the file hb-ot-shape-complex-indic.cc, if we modify the lines as below in the function final_reordering_syllable() it is working,</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&nbsp; if (start + 1 &lt; end &amp;&amp; start &lt; base) /* Otherwise there can't be any pre-base matra characters. */</span></p>
<p class="MsoNormal"><span>&nbsp; {</span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* If we lost track of base, alas, position before last thingy. */</span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned int new_pos = base == end ? base - 2 : base - 1;</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>/* Malayalam / Tamil do not have "half" forms or explicit virama forms.</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp; * The glyphs formed by 'half' are Chillus or ligated explicit viramas.</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp; * We want to position matra after them.</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (buffer-&gt;props.script != HB_SCRIPT_MALAYALAM &amp;&amp; buffer-&gt;props.script != HB_SCRIPT_TAMIL)</span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span>&hellip;</span><span></span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (start &lt; new_pos &amp;&amp; info[new_pos].indic_position () != POS_PRE_M)</span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &hellip;</span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</span></p>
<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span>&hellip;</span><span></span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span></p>
<p class="MsoNormal"><span>&nbsp; &nbsp; &nbsp; &nbsp; }</span><span></span></p>
<p class="MsoNormal"><span>&nbsp; }</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal"><span>Please comment, will it have any side effect.</span></p>
<p class="MsoNormal"><span>&nbsp;</span></p>
<p class="MsoNormal">Best Regards,</p>
<p class="MsoNormal">Uvaraja P.</p>
<p class="MsoNormal">Sindhura P.</p>
</div></div>
Steven R. Loomis | 10 Sep 16:28 2014

Icu layoutex and harfbuzz

I have checked in initial support for building icu's layoutex (paragraph layout) on top of harfbuzz via Icu-hb-le. See instructions at the very bottom of this ticket:

http://bugs.icu-project.org/trac/ticket/11023

Enviado desde nuestro iPhone.
<div>
<div>I have checked in initial support for building icu's layoutex (paragraph layout) on top of harfbuzz via Icu-hb-le. See instructions at the very bottom of this ticket:</div>
<div><br></div>
<div>
<a href="http://bugs.icu-project.org/trac/ticket/11023">http://bugs.icu-project.org/trac/ticket/11023</a><br><br><span>Enviado desde nuestro iPhone.</span>
</div>
</div>
Vincent Isambart | 10 Sep 15:58 2014
Picon

Core Text backend not supporting font index

Hi there,  

I had compiled HarfBuzz with Core Text support thinking it wouldn’t hurt, but I ended up losing a few hours
today because the Core Text backend always loads the first font of a TTC file, ignoring the font index.

- Is this a known bug?
- Does anyone know a way it could be fixed? I looked at the Core Text and related APIs but couldn’t find
anywhere you could specify which font you want to load inside of a TTC.
- If this cannot be fixed, would it be possible to have some sort of warning if you try to load a font with a font
index > 0 with the Core Text backend, to prevent other people to lose time on this.

Thanks,
Vincent

_______________________________________________
HarfBuzz mailing list
HarfBuzz <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/harfbuzz
Olivier Berten | 30 Aug 16:07 2014
Picon

Verbose shaping process information

Hi!

Is there a way to see what Harbuzz is doing step by step in order to
debug font features?

Something like:
Input string: <U+xxxx, U+yyyy, U+zzzz>
Requested features: ss01
Using XXXX engine
Reordering string: <U+xxxx, U+wwww, U+zzzz, U+yyyy>
Switching to glyphs level: <unixxxx, uniwwww, unizzzz, uniyyyy>
Applying 'pref' (1 substitution): <unixxxx, uniwwww, unizzzz_alt, uniyyyy>
etc.

Yours,

Olivier
Travis CI | 25 Aug 18:59 2014

Fixed: behdad/harfbuzz#406 (master - 22f0de5)

behdad / harfbuzz (master)
Build #406 was fixed.
1 minute and 36 seconds
Behdad Esfahbod 22f0de5 Changeset →
  Fix build

Would you like to test your private code?

Travis Pro could be your new best friend!

<div>
    <div>
      <table class="repository"><tr>
<td><span><a href="http://clicks.travis-ci.org/track/click/30007208/travis-ci.org?p=eyJzIjoibnBva19rNVJpUkxXc0hQRVlfM2dTUUM3RXVNIiwidiI6MSwicCI6IntcInVcIjozMDAwNzIwOCxcInZcIjoxLFwidXJsXCI6XCJodHRwczpcXFwvXFxcL3RyYXZpcy1jaS5vcmdcXFwvYmVoZGFkXFxcL2hhcmZidXp6XCIsXCJpZFwiOlwiMmYzNTNlZmMzMjMwNDZiMWEwMDBmNGZkMGQyNDYyMTZcIixcInVybF9pZHNcIjpbXCJjMDViODE3ZjVlN2ZjYTlmMTE3ZTBhOWE1OWZmMjc0OThmN2NjN2QwXCJdfSJ9">behdad / harfbuzz</a> (<a href="http://clicks.travis-ci.org/track/click/30007208/github.com?p=eyJzIjoiRnNwczhPX1AzamZoWnhCVFBxa3pobWV3MkEwIiwidiI6MSwicCI6IntcInVcIjozMDAwNzIwOCxcInZcIjoxLFwidXJsXCI6XCJodHRwczpcXFwvXFxcL2dpdGh1Yi5jb21cXFwvYmVoZGFkXFxcL2hhcmZidXp6XFxcL3RyZWVcXFwvbWFzdGVyXCIsXCJpZFwiOlwiMmYzNTNlZmMzMjMwNDZiMWEwMDBmNGZkMGQyNDYyMTZcIixcInVybF9pZHNcIjpbXCIzMDVjM2I2NTk5ZDZhMDI1NDk4NGQ1MGVjMGUyZTc5Y2UxZTdmODM2XCJdfSJ9">master</a>)</span></td>
        </tr></table>
<div class="success">
        <div class="content">
          <table>
<tr>
<td><div class="status-image"></div></td>
                <td class="build-message"><span><a href="http://clicks.travis-ci.org/track/click.php?u=30007208&amp;id=2f353efc323046b1a000f4fd0d246216&amp;url=https%3A%2F%2Ftravis-ci.org%2Fbehdad%2Fharfbuzz%2Fbuilds%2F33509129&amp;url_id=5ca76ac97d9bcaa67cb11f4e8db47cf794849a4b">Build #406 was fixed.</a></span></td>
                <td align="right" class="time">
<div class="stop-watch"></div> <span>1 minute and 36 seconds</span>
</td>
              </tr>
<tr>
<td class="profile-image"></td>
                <td class="grey">Behdad Esfahbod</td>
                <td align="right" class="grey">
<a href="http://clicks.travis-ci.org/track/click.php?u=30007208&amp;id=2f353efc323046b1a000f4fd0d246216&amp;url=https%3A%2F%2Fgithub.com%2Fbehdad%2Fharfbuzz%2Fcommit%2F22f0de5025aeeef4c8b3ca876d291d4c8e558d94&amp;url_id=50db29b0723faf8c570d72e3c46ff7db70831a17">22f0de5</a> <a href="http://clicks.travis-ci.org/track/click/30007208/github.com?p=eyJzIjoibll2cGQ0UkRDZ3NtVTdVVkhOZ05ObmZtdzVzIiwidiI6MSwicCI6IntcInVcIjozMDAwNzIwOCxcInZcIjoxLFwidXJsXCI6XCJodHRwczpcXFwvXFxcL2dpdGh1Yi5jb21cXFwvYmVoZGFkXFxcL2hhcmZidXp6XFxcL2NvbXBhcmVcXFwvZDQ1N2UzZjBmZjliLi4uMjJmMGRlNTAyNWFlXCIsXCJpZFwiOlwiMmYzNTNlZmMzMjMwNDZiMWEwMDBmNGZkMGQyNDYyMTZcIixcInVybF9pZHNcIjpbXCJhMjc2YWFhMTE5NDdiZjY4MTY1Yzg0YWQ0ZDFjZDg2Y2YwZDBjMTc2XCJdfSJ9">Changeset &rarr;</a>
</td>
              </tr>
<tr>
<td>&nbsp;</td>
                <td class="grey" colspan="2">Fix build</td>
              </tr>
</table>
</div>
      </div>

      <table border="0" class="footer"><tr>
<td>
            </td>
          <td class="grey">
            <a href="http://clicks.travis-ci.org/track/click.php?u=30007208&amp;id=2f353efc323046b1a000f4fd0d246216&amp;url=http%3A%2F%2Fdocs.travis-ci.com&amp;url_id=5fa792b8f9794a936e49fb77042472d6597ff08c">Documentation</a> about Travis CI<br>
            For help please join our IRC channel <a href="irc://irc.freenode.net/travis">irc.freenode.net#travis</a>.<br>
            Choose who receives these build notification emails in your <a href="http://clicks.travis-ci.org/track/click/30007208/docs.travis-ci.com?p=eyJzIjoiZWlZLU9TLS1ILXlzQXA4X2dLTElUR2JESGlBIiwidiI6MSwicCI6IntcInVcIjozMDAwNzIwOCxcInZcIjoxLFwidXJsXCI6XCJodHRwOlxcXC9cXFwvZG9jcy50cmF2aXMtY2kuY29tXFxcL3VzZXJcXFwvbm90aWZpY2F0aW9uc1wiLFwiaWRcIjpcIjJmMzUzZWZjMzIzMDQ2YjFhMDAwZjRmZDBkMjQ2MjE2XCIsXCJ1cmxfaWRzXCI6W1wiNGY1YzYwZDBkY2IxOGQ5ZGQzYTMwMzFkYjNjMjc1MTk4NmIyMmNhMFwiXX0ifQ">configuration file</a>.
          </td>
        </tr></table>
<div>
        <div class="section footnote">
          <p class="grey">Would you like to test your private code?</p>
          <p class="grey"><a href="http://clicks.travis-ci.org/track/click/30007208/travis-ci.com?p=eyJzIjoiTGhMalIyd0FDUW1mbDVGdHNMTW9TdDU0VVdnIiwidiI6MSwicCI6IntcInVcIjozMDAwNzIwOCxcInZcIjoxLFwidXJsXCI6XCJodHRwOlxcXC9cXFwvdHJhdmlzLWNpLmNvbT91dG1fc291cmNlPWJ1aWxkX2VtYWlsX2Zvb3RlciZ1dG1fY2FtcGFpZ249dHJhdmlzLWNpLm9yZyZ1dG1fbWVkaXVtPWVtYWlsXCIsXCJpZFwiOlwiMmYzNTNlZmMzMjMwNDZiMWEwMDBmNGZkMGQyNDYyMTZcIixcInVybF9pZHNcIjpbXCIyMDAwYzI0MjkxOWZkYWYzNzVlNDhhM2Q5OTM4ZGY4MDc3YzZlMTk4XCJdfSJ9">Travis Pro</a> could be your new best friend!</p>
        </div>

        <div class="tiny-footer">
          <p class="grey"> 
            <span>Travis CI is powered by </span><a href="http://clicks.travis-ci.org/track/click.php?u=30007208&amp;id=2f353efc323046b1a000f4fd0d246216&amp;url=http%3A%2F%2Fbluebox.net&amp;url_id=0fe132f64bd24688e0c90360724064f644e1ec31"></a>
          </p>
        </div>
      </div>

    </div>

</div>
Behdad Esfahbod | 25 Aug 18:55 2014

harfbuzz: Branch 'master'

 src/hb-ot-shape-complex-arabic-win1256.hh |    3 +++
 1 file changed, 3 insertions(+)

New commits:
commit 22f0de5025aeeef4c8b3ca876d291d4c8e558d94
Author: Behdad Esfahbod <behdad@...>
Date:   Mon Aug 25 12:54:57 2014 -0400

    Fix build

diff --git a/src/hb-ot-shape-complex-arabic-win1256.hh b/src/hb-ot-shape-complex-arabic-win1256.hh
index 082e9df..3a20b50 100644
--- a/src/hb-ot-shape-complex-arabic-win1256.hh
+++ b/src/hb-ot-shape-complex-arabic-win1256.hh
 <at>  <at>  -313,6 +313,9  <at>  <at>  OT_TABLE_END
 /*
  * Include a second time to get the table data...
  */
+#if 0
+#include "hb-private.hh" /* Make check-includes.sh happy. */
+#endif
 #ifdef OT_MEASURE
 #include "hb-ot-shape-complex-arabic-win1256.hh"
 #endif
Travis CI | 25 Aug 18:35 2014

Broken: behdad/harfbuzz#405 (master - d457e3f)

behdad / harfbuzz (master)
Build #405 was broken.
1 minute and 25 seconds
Behdad Esfahbod d457e3f Changeset →
  [arabic] Don't #include __FILE__

Fine!

https://code.google.com/p/chromium/issues/detail?id=406957

Would you like to test your private code?

Travis Pro could be your new best friend!

<div>
    <div>
      <table class="repository"><tr>
<td><span><a href="http://clicks.travis-ci.org/track/click/30007208/travis-ci.org?p=eyJzIjoiYlhxNG80ZlNuQzNQVDRON3Bfc2JuRnRkZTFzIiwidiI6MSwicCI6IntcInVcIjozMDAwNzIwOCxcInZcIjoxLFwidXJsXCI6XCJodHRwczpcXFwvXFxcL3RyYXZpcy1jaS5vcmdcXFwvYmVoZGFkXFxcL2hhcmZidXp6XCIsXCJpZFwiOlwiMTE0MDRhNjM2MWRiNDBkOWEwM2ZhMWQ0MTFkZWI0ZjRcIixcInVybF9pZHNcIjpbXCJjMDViODE3ZjVlN2ZjYTlmMTE3ZTBhOWE1OWZmMjc0OThmN2NjN2QwXCJdfSJ9">behdad / harfbuzz</a> (<a href="http://clicks.travis-ci.org/track/click/30007208/github.com?p=eyJzIjoicHdvM1Y0bEpCbHNvZDFpbzhDeWFnOUZqQlNVIiwidiI6MSwicCI6IntcInVcIjozMDAwNzIwOCxcInZcIjoxLFwidXJsXCI6XCJodHRwczpcXFwvXFxcL2dpdGh1Yi5jb21cXFwvYmVoZGFkXFxcL2hhcmZidXp6XFxcL3RyZWVcXFwvbWFzdGVyXCIsXCJpZFwiOlwiMTE0MDRhNjM2MWRiNDBkOWEwM2ZhMWQ0MTFkZWI0ZjRcIixcInVybF9pZHNcIjpbXCIzMDVjM2I2NTk5ZDZhMDI1NDk4NGQ1MGVjMGUyZTc5Y2UxZTdmODM2XCJdfSJ9">master</a>)</span></td>
        </tr></table>
<div class="failure">
        <div class="content">
          <table>
<tr>
<td><div class="status-image"></div></td>
                <td class="build-message"><span><a href="http://clicks.travis-ci.org/track/click/30007208/travis-ci.org?p=eyJzIjoiTFFhODVKQUpXX0U5czRENVk0aUFqcjIyRFFVIiwidiI6MSwicCI6IntcInVcIjozMDAwNzIwOCxcInZcIjoxLFwidXJsXCI6XCJodHRwczpcXFwvXFxcL3RyYXZpcy1jaS5vcmdcXFwvYmVoZGFkXFxcL2hhcmZidXp6XFxcL2J1aWxkc1xcXC8zMzUwNjkyMlwiLFwiaWRcIjpcIjExNDA0YTYzNjFkYjQwZDlhMDNmYTFkNDExZGViNGY0XCIsXCJ1cmxfaWRzXCI6W1wiNWNhNzZhYzk3ZDliY2FhNjdjYjExZjRlOGRiNDdjZjc5NDg0OWE0YlwiXX0ifQ">Build #405 was broken.</a></span></td>
                <td align="right" class="time">
<div class="stop-watch"></div> <span>1 minute and 25 seconds</span>
</td>
              </tr>
<tr>
<td class="profile-image"></td>
                <td class="grey">Behdad Esfahbod</td>
                <td align="right" class="grey">
<a href="http://clicks.travis-ci.org/track/click/30007208/github.com?p=eyJzIjoiTy1zanBiazh3bHhUZ2JVNWd5UHJJNzhxZzlzIiwidiI6MSwicCI6IntcInVcIjozMDAwNzIwOCxcInZcIjoxLFwidXJsXCI6XCJodHRwczpcXFwvXFxcL2dpdGh1Yi5jb21cXFwvYmVoZGFkXFxcL2hhcmZidXp6XFxcL2NvbW1pdFxcXC9kNDU3ZTNmMGZmOWIyNzYxNmEzNGU0Y2MxMTBkM2VkYmY4Nzk2ODQxXCIsXCJpZFwiOlwiMTE0MDRhNjM2MWRiNDBkOWEwM2ZhMWQ0MTFkZWI0ZjRcIixcInVybF9pZHNcIjpbXCI1MGRiMjliMDcyM2ZhZjhjNTcwZDcyZTNjNDZmZjdkYjcwODMxYTE3XCJdfSJ9">d457e3f</a> <a href="http://clicks.travis-ci.org/track/click.php?u=30007208&amp;id=11404a6361db40d9a03fa1d411deb4f4&amp;url=https%3A%2F%2Fgithub.com%2Fbehdad%2Fharfbuzz%2Fcompare%2F8a9319502141...d457e3f0ff9b&amp;url_id=a276aaa11947bf68165c84ad4d1cd86cf0d0c176">Changeset &rarr;</a>
</td>
              </tr>
<tr>
<td>&nbsp;</td>
                <td class="grey" colspan="2">[arabic] Don't #include __FILE__<br><br>Fine!<br><br>https://code.google.com/p/chromium/issues/detail?id=406957</td>
              </tr>
</table>
</div>
      </div>

      <table border="0" class="footer"><tr>
<td>
            </td>
          <td class="grey">
            <a href="http://clicks.travis-ci.org/track/click.php?u=30007208&amp;id=11404a6361db40d9a03fa1d411deb4f4&amp;url=http%3A%2F%2Fdocs.travis-ci.com&amp;url_id=5fa792b8f9794a936e49fb77042472d6597ff08c">Documentation</a> about Travis CI<br>
            For help please join our IRC channel <a href="irc://irc.freenode.net/travis">irc.freenode.net#travis</a>.<br>
            Choose who receives these build notification emails in your <a href="http://clicks.travis-ci.org/track/click.php?u=30007208&amp;id=11404a6361db40d9a03fa1d411deb4f4&amp;url=http%3A%2F%2Fdocs.travis-ci.com%2Fuser%2Fnotifications&amp;url_id=4f5c60d0dcb18d9dd3a3031db3c2751986b22ca0">configuration file</a>.
          </td>
        </tr></table>
<div>
        <div class="section footnote">
          <p class="grey">Would you like to test your private code?</p>
          <p class="grey"><a href="http://clicks.travis-ci.org/track/click.php?u=30007208&amp;id=11404a6361db40d9a03fa1d411deb4f4&amp;url=http%3A%2F%2Ftravis-ci.com%3Futm_source%3Dbuild_email_footer%26utm_campaign%3Dtravis-ci.org%26utm_medium%3Demail&amp;url_id=2000c242919fdaf375e48a3d9938df8077c6e198">Travis Pro</a> could be your new best friend!</p>
        </div>

        <div class="tiny-footer">
          <p class="grey"> 
            <span>Travis CI is powered by </span><a href="http://clicks.travis-ci.org/track/click.php?u=30007208&amp;id=11404a6361db40d9a03fa1d411deb4f4&amp;url=http%3A%2F%2Fbluebox.net&amp;url_id=0fe132f64bd24688e0c90360724064f644e1ec31"></a>
          </p>
        </div>
      </div>

    </div>

</div>

Gmane