Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(284)

Unified Diff: third_party/harfbuzz-ng/src/hb-buffer.cc

Issue 1408003004: Roll harfbuzz-ng to 1.0.5 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2526
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-buffer.h ('k') | third_party/harfbuzz-ng/src/hb-buffer-private.hh » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/harfbuzz-ng/src/hb-buffer.cc
diff --git a/third_party/harfbuzz-ng/src/hb-buffer.cc b/third_party/harfbuzz-ng/src/hb-buffer.cc
index 03fe8e1348b8cdc8909dd9f419fab31ceb4ae8a2..50710dd23e5ebca6525954789a35e3535f990b70 100644
--- a/third_party/harfbuzz-ng/src/hb-buffer.cc
+++ b/third_party/harfbuzz-ng/src/hb-buffer.cc
@@ -704,7 +704,7 @@ void hb_buffer_t::deallocate_var_all (void)
*
* Return value: (transfer full)
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_buffer_t *
hb_buffer_create (void)
@@ -726,7 +726,7 @@ hb_buffer_create (void)
*
* Return value: (transfer full):
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_buffer_t *
hb_buffer_get_empty (void)
@@ -759,7 +759,7 @@ hb_buffer_get_empty (void)
*
* Return value: (transfer full):
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_buffer_t *
hb_buffer_reference (hb_buffer_t *buffer)
@@ -773,7 +773,7 @@ hb_buffer_reference (hb_buffer_t *buffer)
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_destroy (hb_buffer_t *buffer)
@@ -800,7 +800,7 @@ hb_buffer_destroy (hb_buffer_t *buffer)
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_buffer_set_user_data (hb_buffer_t *buffer,
@@ -821,7 +821,7 @@ hb_buffer_set_user_data (hb_buffer_t *buffer,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void *
hb_buffer_get_user_data (hb_buffer_t *buffer,
@@ -871,7 +871,7 @@ hb_buffer_get_content_type (hb_buffer_t *buffer)
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_set_unicode_funcs (hb_buffer_t *buffer,
@@ -897,7 +897,7 @@ hb_buffer_set_unicode_funcs (hb_buffer_t *buffer,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_unicode_funcs_t *
hb_buffer_get_unicode_funcs (hb_buffer_t *buffer)
@@ -912,7 +912,7 @@ hb_buffer_get_unicode_funcs (hb_buffer_t *buffer)
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_set_direction (hb_buffer_t *buffer,
@@ -933,7 +933,7 @@ hb_buffer_set_direction (hb_buffer_t *buffer,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_direction_t
hb_buffer_get_direction (hb_buffer_t *buffer)
@@ -948,7 +948,7 @@ hb_buffer_get_direction (hb_buffer_t *buffer)
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_set_script (hb_buffer_t *buffer,
@@ -968,7 +968,7 @@ hb_buffer_set_script (hb_buffer_t *buffer,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_script_t
hb_buffer_get_script (hb_buffer_t *buffer)
@@ -983,7 +983,7 @@ hb_buffer_get_script (hb_buffer_t *buffer)
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_set_language (hb_buffer_t *buffer,
@@ -1003,7 +1003,7 @@ hb_buffer_set_language (hb_buffer_t *buffer,
*
* Return value: (transfer none):
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_language_t
hb_buffer_get_language (hb_buffer_t *buffer)
@@ -1160,7 +1160,7 @@ hb_buffer_get_replacement_codepoint (hb_buffer_t *buffer)
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_reset (hb_buffer_t *buffer)
@@ -1191,7 +1191,7 @@ hb_buffer_clear_contents (hb_buffer_t *buffer)
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_buffer_pre_allocate (hb_buffer_t *buffer, unsigned int size)
@@ -1207,7 +1207,7 @@ hb_buffer_pre_allocate (hb_buffer_t *buffer, unsigned int size)
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_buffer_allocation_successful (hb_buffer_t *buffer)
@@ -1223,7 +1223,7 @@ hb_buffer_allocation_successful (hb_buffer_t *buffer)
*
*
*
- * Since: 1.0
+ * Since: 0.9.7
**/
void
hb_buffer_add (hb_buffer_t *buffer,
@@ -1243,7 +1243,7 @@ hb_buffer_add (hb_buffer_t *buffer,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_buffer_set_length (hb_buffer_t *buffer,
@@ -1282,7 +1282,7 @@ hb_buffer_set_length (hb_buffer_t *buffer,
*
* Return value: buffer length.
*
- * Since: 1.0
+ * Since: 0.9.2
**/
unsigned int
hb_buffer_get_length (hb_buffer_t *buffer)
@@ -1300,7 +1300,7 @@ hb_buffer_get_length (hb_buffer_t *buffer)
*
* Return value: (transfer none) (array length=length): buffer glyph information array.
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_glyph_info_t *
hb_buffer_get_glyph_infos (hb_buffer_t *buffer,
@@ -1322,7 +1322,7 @@ hb_buffer_get_glyph_infos (hb_buffer_t *buffer,
*
* Return value: (transfer none) (array length=length): buffer glyph position array.
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_glyph_position_t *
hb_buffer_get_glyph_positions (hb_buffer_t *buffer,
@@ -1343,7 +1343,7 @@ hb_buffer_get_glyph_positions (hb_buffer_t *buffer,
*
* Reverses buffer contents.
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_reverse (hb_buffer_t *buffer)
@@ -1357,9 +1357,9 @@ hb_buffer_reverse (hb_buffer_t *buffer)
* @start: start index.
* @end: end index.
*
- * Reverses buffer contents between start to end.
+ * Reverses buffer contents between start to end.
*
- * Since: 1.0
+ * Since: 0.9.41
**/
void
hb_buffer_reverse_range (hb_buffer_t *buffer,
@@ -1376,7 +1376,7 @@ hb_buffer_reverse_range (hb_buffer_t *buffer,
* reversed, then each cluster (consecutive items having the
* same cluster number) are reversed again.
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_reverse_clusters (hb_buffer_t *buffer)
@@ -1493,7 +1493,7 @@ hb_buffer_add_utf (hb_buffer_t *buffer,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_add_utf8 (hb_buffer_t *buffer,
@@ -1515,7 +1515,7 @@ hb_buffer_add_utf8 (hb_buffer_t *buffer,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_add_utf16 (hb_buffer_t *buffer,
@@ -1537,7 +1537,7 @@ hb_buffer_add_utf16 (hb_buffer_t *buffer,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_add_utf32 (hb_buffer_t *buffer,
@@ -1636,7 +1636,7 @@ normalize_glyphs_cluster (hb_buffer_t *buffer,
pos[end - 1].x_advance = total_x_advance;
pos[end - 1].y_advance = total_y_advance;
- hb_bubble_sort (buffer->info + start, end - start - 1, compare_info_codepoint, buffer->pos + start);
+ hb_stable_sort (buffer->info + start, end - start - 1, compare_info_codepoint, buffer->pos + start);
} else {
/* Transfer all cluster advance to the first glyph. */
pos[start].x_advance += total_x_advance;
@@ -1645,7 +1645,7 @@ normalize_glyphs_cluster (hb_buffer_t *buffer,
pos[i].x_offset -= total_x_advance;
pos[i].y_offset -= total_y_advance;
}
- hb_bubble_sort (buffer->info + start + 1, end - start - 1, compare_info_codepoint, buffer->pos + start + 1);
+ hb_stable_sort (buffer->info + start + 1, end - start - 1, compare_info_codepoint, buffer->pos + start + 1);
}
}
@@ -1678,3 +1678,24 @@ hb_buffer_normalize_glyphs (hb_buffer_t *buffer)
}
normalize_glyphs_cluster (buffer, start, end, backward);
}
+
+void
+hb_buffer_t::sort (unsigned int start, unsigned int end, int(*compar)(const hb_glyph_info_t *, const hb_glyph_info_t *))
+{
+ assert (!have_positions);
+ for (unsigned int i = start + 1; i < end; i++)
+ {
+ unsigned int j = i;
+ while (j > start && compar (&info[j - 1], &info[i]) > 0)
+ j--;
+ if (i == j)
+ continue;
+ /* Move item i to occupy place for item j, shift what's in between. */
+ merge_clusters (j, i + 1);
+ {
+ hb_glyph_info_t t = info[i];
+ memmove (&info[j + 1], &info[j], (i - j) * sizeof (hb_glyph_info_t));
+ info[j] = t;
+ }
+ }
+}
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-buffer.h ('k') | third_party/harfbuzz-ng/src/hb-buffer-private.hh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698