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

Side by Side Diff: third_party/harfbuzz-ng/src/hb-shape.h

Issue 10915172: harfbuzz-ng roll (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 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
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-set-private.hh ('k') | third_party/harfbuzz-ng/src/hb-shape.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 © 2009 Red Hat, Inc. 2 * Copyright © 2009 Red Hat, Inc.
3 * Copyright © 2012 Google, Inc.
3 * 4 *
4 * This is part of HarfBuzz, a text shaping library. 5 * This is part of HarfBuzz, a text shaping library.
5 * 6 *
6 * Permission is hereby granted, without written agreement and without 7 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this 8 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the 9 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in 10 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software. 11 * all copies of this software.
11 * 12 *
12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR 13 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 14 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN 15 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 16 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16 * DAMAGE. 17 * DAMAGE.
17 * 18 *
18 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 19 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 21 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO 22 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 23 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23 * 24 *
24 * Red Hat Author(s): Behdad Esfahbod 25 * Red Hat Author(s): Behdad Esfahbod
26 * Google Author(s): Behdad Esfahbod
25 */ 27 */
26 28
27 #ifndef HB_H_IN 29 #ifndef HB_H_IN
28 #error "Include <hb.h> instead." 30 #error "Include <hb.h> instead."
29 #endif 31 #endif
30 32
31 #ifndef HB_SHAPE_H 33 #ifndef HB_SHAPE_H
32 #define HB_SHAPE_H 34 #define HB_SHAPE_H
33 35
34 #include "hb-common.h" 36 #include "hb-common.h"
35 #include "hb-buffer.h" 37 #include "hb-buffer.h"
36 #include "hb-font.h" 38 #include "hb-font.h"
37 39
38 HB_BEGIN_DECLS 40 HB_BEGIN_DECLS
39 41
40 42
41 typedef struct _hb_feature_t { 43 typedef struct hb_feature_t {
42 hb_tag_t tag; 44 hb_tag_t tag;
43 uint32_t value; 45 uint32_t value;
44 unsigned int start; 46 unsigned int start;
45 unsigned int end; 47 unsigned int end;
46 } hb_feature_t; 48 } hb_feature_t;
47 49
50 /* len=-1 means str is NUL-terminated */
51 hb_bool_t
52 hb_feature_from_string (const char *str, int len,
53 hb_feature_t *feature);
54
55 /* something like 128 bytes is more than enough.
56 * nul-terminates. */
57 void
58 hb_feature_to_string (hb_feature_t *feature,
59 char *buf, unsigned int size);
60
48 61
49 void 62 void
50 hb_shape (hb_font_t *font, 63 hb_shape (hb_font_t *font,
51 hb_buffer_t *buffer, 64 hb_buffer_t *buffer,
52 const hb_feature_t *features, 65 const hb_feature_t *features,
53 unsigned int num_features); 66 unsigned int num_features);
54 67
55 hb_bool_t 68 hb_bool_t
56 hb_shape_full (hb_font_t *font, 69 hb_shape_full (hb_font_t *font,
57 hb_buffer_t *buffer, 70 hb_buffer_t *buffer,
58 const hb_feature_t *features, 71 const hb_feature_t *features,
59 unsigned int num_features, 72 unsigned int num_features,
60 const char * const *shaper_list); 73 const char * const *shaper_list);
61 74
62 const char ** 75 const char **
63 hb_shape_list_shapers (void); 76 hb_shape_list_shapers (void);
64 77
65 78
66 HB_END_DECLS 79 HB_END_DECLS
67 80
68 #endif /* HB_SHAPE_H */ 81 #endif /* HB_SHAPE_H */
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-set-private.hh ('k') | third_party/harfbuzz-ng/src/hb-shape.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698