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

Side by Side Diff: third_party/harfbuzz-ng/src/hb-common.cc

Issue 12438036: Update harfbuzz-ng to 0.9.14 from 0.9.10 (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright © 2009,2010 Red Hat, Inc. 2 * Copyright © 2009,2010 Red Hat, Inc.
3 * Copyright © 2011,2012 Google, Inc. 3 * Copyright © 2011,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 18 matching lines...) Expand all
29 #include "hb-private.hh" 29 #include "hb-private.hh"
30 30
31 #include "hb-version.h" 31 #include "hb-version.h"
32 32
33 #include "hb-mutex-private.hh" 33 #include "hb-mutex-private.hh"
34 #include "hb-object-private.hh" 34 #include "hb-object-private.hh"
35 35
36 #include <locale.h> 36 #include <locale.h>
37 37
38 38
39 /* hb_options_t */
40
41 hb_options_union_t _hb_options;
42
43 void
44 _hb_options_init (void)
45 {
46 hb_options_union_t u;
47 u.i = 0;
48 u.opts.initialized = 1;
49
50 char *c = getenv ("HB_OPTIONS");
51 u.opts.uniscribe_bug_compatible = c && strstr (c, "uniscribe-bug-compatible");
52
53 /* This is idempotent and threadsafe. */
54 _hb_options = u;
55 }
56
39 57
40 /* hb_tag_t */ 58 /* hb_tag_t */
41 59
42 hb_tag_t 60 hb_tag_t
43 hb_tag_from_string (const char *s, int len) 61 hb_tag_from_string (const char *s, int len)
44 { 62 {
45 char tag[4]; 63 char tag[4];
46 unsigned int i; 64 unsigned int i;
47 65
48 if (!s || !len || !*s) 66 if (!s || !len || !*s)
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 } 188 }
171 189
172 void finish (void) { free (lang); } 190 void finish (void) { free (lang); }
173 }; 191 };
174 192
175 193
176 /* Thread-safe lock-free language list */ 194 /* Thread-safe lock-free language list */
177 195
178 static hb_language_item_t *langs; 196 static hb_language_item_t *langs;
179 197
180 static 198 static inline
181 void free_langs (void) 199 void free_langs (void)
182 { 200 {
183 while (langs) { 201 while (langs) {
184 hb_language_item_t *next = langs->next; 202 hb_language_item_t *next = langs->next;
185 langs->finish (); 203 langs->finish ();
186 free (langs); 204 free (langs);
187 langs = next; 205 langs = next;
188 } 206 }
189 } 207 }
190 208
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 return HB_VERSION_STRING; 425 return HB_VERSION_STRING;
408 } 426 }
409 427
410 hb_bool_t 428 hb_bool_t
411 hb_version_check (unsigned int major, 429 hb_version_check (unsigned int major,
412 unsigned int minor, 430 unsigned int minor,
413 unsigned int micro) 431 unsigned int micro)
414 { 432 {
415 return HB_VERSION_CHECK (major, minor, micro); 433 return HB_VERSION_CHECK (major, minor, micro);
416 } 434 }
417
418
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698