OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright © 2011 Google, Inc. | |
3 * | |
4 * This is part of HarfBuzz, a text shaping library. | |
5 * | |
6 * Permission is hereby granted, without written agreement and without | |
7 * license or royalty fees, to use, copy, modify, and distribute this | |
8 * software and its documentation for any purpose, provided that the | |
9 * above copyright notice and the following two paragraphs appear in | |
10 * all copies of this software. | |
11 * | |
12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR | |
13 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES | |
14 * 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 * DAMAGE. | |
17 * | |
18 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, | |
19 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | |
20 * 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 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. | |
23 * | |
24 * Google Author(s): Behdad Esfahbod | |
25 */ | |
26 | |
27 #include "hb-font-private.hh" /* Shall be first since may include windows.h */ | |
28 | |
29 #include "hb-open-type-private.hh" | |
30 | |
31 #include "hb-ot-hhea-table.hh" | |
32 #include "hb-ot-hmtx-table.hh" | |
33 | |
34 #include "hb-blob.h" | |
35 | |
36 #include <string.h> | |
37 | |
38 | |
39 | |
40 #if 0 | |
41 struct hb_tt_font_t | |
42 { | |
43 const struct hhea *hhea; | |
44 hb_blob_t *hhea_blob; | |
45 }; | |
46 | |
47 | |
48 static hb_tt_font_t * | |
49 _hb_tt_font_create (hb_font_t *font) | |
50 { | |
51 /* TODO Remove this object altogether */ | |
52 hb_tt_font_t *tt = (hb_tt_font_t *) calloc (1, sizeof (hb_tt_font_t)); | |
53 | |
54 tt->hhea_blob = Sanitizer<hhea>::sanitize (font->face->reference_table (HB_OT_
TAG_hhea)); | |
55 tt->hhea = Sanitizer<hhea>::lock_instance (tt->hhea_blob); | |
56 | |
57 return tt; | |
58 } | |
59 | |
60 static void | |
61 _hb_tt_font_destroy (hb_tt_font_t *tt) | |
62 { | |
63 hb_blob_destroy (tt->hhea_blob); | |
64 | |
65 free (tt); | |
66 } | |
67 | |
68 static inline const hhea& | |
69 _get_hhea (hb_face_t *face) | |
70 { | |
71 return likely (face->tt && face->tt->hhea) ? *face->tt->hhea : Null(hhea); | |
72 } | |
73 | |
74 | |
75 /* | |
76 * hb_tt_font_funcs_t | |
77 */ | |
78 | |
79 #endif | |
OLD | NEW |