Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3520

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/20/3520/1

Add some comments

Change-Id: I2a0dbf5f69efa0f35170c77a1efc9936cf9ecb94
---
M vcl/generic/glyphs/gcach_layout.cxx
1 file changed, 10 insertions(+), 2 deletions(-)



diff --git a/vcl/generic/glyphs/gcach_layout.cxx b/vcl/generic/glyphs/gcach_layout.cxx
index 8fbe9d7..1848ab0 100644
--- a/vcl/generic/glyphs/gcach_layout.cxx
+++ b/vcl/generic/glyphs/gcach_layout.cxx
@@ -148,7 +148,9 @@
         int nRunLen = nEndRunPos - nMinRunPos;
 
         // find matching script
-        // TODO: use ICU's UScriptRun API
+        // TODO: use ICU's UScriptRun API to properly resolves "common" and
+        // "inherited" script codes, probably use it in GetNextRun() and return
+        // the script there
         UScriptCode eScriptCode = USCRIPT_INVALID_CODE;
         for (int i = nMinRunPos; i < nEndRunPos; ++i)
         {
@@ -195,7 +197,8 @@
                 if (nCharPos >= 0)
                 {
                     rArgs.NeedFallback(nCharPos, bRightToLeft);
-                    // XXX: do we need this in harfbuzz?
+                    // XXX: do we need this? HarfBuzz can take context into
+                    // account when shaping
                     if  ((nCharPos > 0) && needPreviousCode(rArgs.mpStr[nCharPos-1]))
                         rArgs.NeedFallback(nCharPos-1, bRightToLeft);
                     else if  ((nCharPos + 1 < nEndRunPos) && needNextCode(rArgs.mpStr[nCharPos+1]))
@@ -234,6 +237,10 @@
 
             GlyphItem aGI(nCharPos, nGlyphIndex, aNewPos, nGlyphFlags, nGlyphWidth);
 
+            // This is a hack to compensate for assumptions made elsewhere in
+            // the codebase, the right way is to use aHbPositions[i].x_advance
+            // instead of nGlyphWidth above, and leave mnNewWidth alone
+            // (whatever it is meant for)
             if (i + 1 < nRunGlyphCount)
                 aGI.mnNewWidth = nGlyphWidth + (aHbPositions[i + 1].x_offset / 64);
 
@@ -249,6 +256,7 @@
 
     // sort glyphs in visual order
     // and then in logical order (e.g. diacritics after cluster start)
+    // XXX: why?
     rLayout.SortGlyphItems();
 
     // determine need for kashida justification

-- 
To view, visit https://gerrit.libreoffice.org/3520
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2a0dbf5f69efa0f35170c77a1efc9936cf9ecb94
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Khaled Hosny <khaledhosny@eglug.org>


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.