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

Side by Side Diff: third_party/harfbuzz-ng/src/hb-open-type-private.hh

Issue 1476763003: Roll HarfBuzz to 1.1.1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: windows line height rebaseline Created 5 years 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 unified diff | Download patch
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-ft.cc ('k') | third_party/harfbuzz-ng/src/hb-ot-font.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright © 2007,2008,2009,2010 Red Hat, Inc. 2 * Copyright © 2007,2008,2009,2010 Red Hat, Inc.
3 * Copyright © 2012 Google, Inc. 3 * Copyright © 2012 Google, Inc.
4 * 4 *
5 * This is part of HarfBuzz, a text shaping library. 5 * This is part of HarfBuzz, a text shaping library.
6 * 6 *
7 * Permission is hereby granted, without written agreement and without 7 * Permission is hereby granted, without written agreement and without
8 * license or royalty fees, to use, copy, modify, and distribute this 8 * license or royalty fees, to use, copy, modify, and distribute this
9 * software and its documentation for any purpose, provided that the 9 * software and its documentation for any purpose, provided that the
10 * above copyright notice and the following two paragraphs appear in 10 * above copyright notice and the following two paragraphs appear in
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 #endif 178 #endif
179 179
180 180
181 #define TRACE_SANITIZE(this) \ 181 #define TRACE_SANITIZE(this) \
182 hb_auto_trace_t<HB_DEBUG_SANITIZE, bool> trace \ 182 hb_auto_trace_t<HB_DEBUG_SANITIZE, bool> trace \
183 (&c->debug_depth, c->get_name (), this, HB_FUNC, \ 183 (&c->debug_depth, c->get_name (), this, HB_FUNC, \
184 ""); 184 "");
185 185
186 /* This limits sanitizing time on really broken fonts. */ 186 /* This limits sanitizing time on really broken fonts. */
187 #ifndef HB_SANITIZE_MAX_EDITS 187 #ifndef HB_SANITIZE_MAX_EDITS
188 #define HB_SANITIZE_MAX_EDITS 100 188 #define HB_SANITIZE_MAX_EDITS 8
189 #endif 189 #endif
190 190
191 struct hb_sanitize_context_t : 191 struct hb_sanitize_context_t :
192 hb_dispatch_context_t<hb_sanitize_context_t, bool, HB_DEBUG_SANITIZE> 192 hb_dispatch_context_t<hb_sanitize_context_t, bool, HB_DEBUG_SANITIZE>
193 { 193 {
194 inline hb_sanitize_context_t (void) : 194 inline hb_sanitize_context_t (void) :
195 debug_depth (0), 195 debug_depth (0),
196 start (NULL), end (NULL), 196 start (NULL), end (NULL),
197 writable (false), edit_count (0), 197 writable (false), edit_count (0),
198 blob (NULL) {} 198 blob (NULL) {}
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 392
393 393
394 #define TRACE_SERIALIZE(this) \ 394 #define TRACE_SERIALIZE(this) \
395 hb_auto_trace_t<HB_DEBUG_SERIALIZE, bool> trace \ 395 hb_auto_trace_t<HB_DEBUG_SERIALIZE, bool> trace \
396 (&c->debug_depth, "SERIALIZE", c, HB_FUNC, \ 396 (&c->debug_depth, "SERIALIZE", c, HB_FUNC, \
397 ""); 397 "");
398 398
399 399
400 struct hb_serialize_context_t 400 struct hb_serialize_context_t
401 { 401 {
402 inline hb_serialize_context_t (void *start, unsigned int size) 402 inline hb_serialize_context_t (void *start_, unsigned int size)
403 { 403 {
404 this->start = (char *) start; 404 this->start = (char *) start_;
405 this->end = this->start + size; 405 this->end = this->start + size;
406 406
407 this->ran_out_of_room = false; 407 this->ran_out_of_room = false;
408 this->head = this->start; 408 this->head = this->start;
409 this->debug_depth = 0; 409 this->debug_depth = 0;
410 } 410 }
411 411
412 template <typename Type> 412 template <typename Type>
413 inline Type *start_serialize (void) 413 inline Type *start_serialize (void)
414 { 414 {
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 488
489 template <typename Type> 489 template <typename Type>
490 inline Type *extend (Type &obj) 490 inline Type *extend (Type &obj)
491 { 491 {
492 unsigned int size = obj.get_size (); 492 unsigned int size = obj.get_size ();
493 assert (this->start < (char *) &obj && (char *) &obj <= this->head && (char *) &obj + size >= this->head); 493 assert (this->start < (char *) &obj && (char *) &obj <= this->head && (char *) &obj + size >= this->head);
494 if (unlikely (!this->allocate_size<Type> (((char *) &obj) + size - this->hea d))) return NULL; 494 if (unlikely (!this->allocate_size<Type> (((char *) &obj) + size - this->hea d))) return NULL;
495 return reinterpret_cast<Type *> (&obj); 495 return reinterpret_cast<Type *> (&obj);
496 } 496 }
497 497
498 inline void truncate (void *head) 498 inline void truncate (void *new_head)
499 { 499 {
500 assert (this->start < head && head <= this->head); 500 assert (this->start < new_head && new_head <= this->head);
501 this->head = (char *) head; 501 this->head = (char *) new_head;
502 } 502 }
503 503
504 unsigned int debug_depth; 504 unsigned int debug_depth;
505 char *start, *end, *head; 505 char *start, *end, *head;
506 bool ran_out_of_room; 506 bool ran_out_of_room;
507 }; 507 };
508 508
509 template <typename Type> 509 template <typename Type>
510 struct Supplier 510 struct Supplier
511 { 511 {
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after
1037 } 1037 }
1038 return -1; 1038 return -1;
1039 } 1039 }
1040 }; 1040 };
1041 1041
1042 1042
1043 } /* namespace OT */ 1043 } /* namespace OT */
1044 1044
1045 1045
1046 #endif /* HB_OPEN_TYPE_PRIVATE_HH */ 1046 #endif /* HB_OPEN_TYPE_PRIVATE_HH */
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-ft.cc ('k') | third_party/harfbuzz-ng/src/hb-ot-font.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698