LCOV - code coverage report
Current view: directory - gfx/ots/src - cmap.h (source / functions) Found Hit Coverage
Test: app.info Lines: 5 0 0.0 %
Date: 2012-06-02 Functions: 6 0 0.0 %

       1                 : // Copyright (c) 2009 The Chromium Authors. All rights reserved.
       2                 : // Use of this source code is governed by a BSD-style license that can be
       3                 : // found in the LICENSE file.
       4                 : 
       5                 : #ifndef OTS_CMAP_H_
       6                 : #define OTS_CMAP_H_
       7                 : 
       8                 : #include <vector>
       9                 : 
      10                 : #include "ots.h"
      11                 : 
      12                 : namespace ots {
      13                 : 
      14                 : struct OpenTypeCMAPSubtableRange {
      15                 :   uint32_t start_range;
      16                 :   uint32_t end_range;
      17                 :   uint32_t start_glyph_id;
      18                 : };
      19                 : 
      20                 : struct OpenTypeCMAPSubtableVSRange {
      21                 :   uint32_t unicode_value;
      22                 :   uint8_t additional_count;
      23                 : };
      24                 : 
      25                 : struct OpenTypeCMAPSubtableVSMapping {
      26                 :   uint32_t unicode_value;
      27                 :   uint16_t glyph_id;
      28                 : };
      29                 : 
      30               0 : struct OpenTypeCMAPSubtableVSRecord {
      31                 :   uint32_t var_selector;
      32                 :   uint32_t default_offset;
      33                 :   uint32_t non_default_offset;
      34                 :   std::vector<OpenTypeCMAPSubtableVSRange> ranges;
      35                 :   std::vector<OpenTypeCMAPSubtableVSMapping> mappings;
      36                 : };
      37                 : 
      38               0 : struct OpenTypeCMAP {
      39               0 :   OpenTypeCMAP()
      40                 :       : subtable_0_3_4_data(NULL),
      41                 :         subtable_0_3_4_length(0),
      42                 :         subtable_0_5_14_length(0),
      43                 :         subtable_3_0_4_data(NULL),
      44                 :         subtable_3_0_4_length(0),
      45                 :         subtable_3_1_4_data(NULL),
      46               0 :         subtable_3_1_4_length(0) {
      47               0 :   }
      48                 : 
      49                 :   // Platform 0, Encoding 3, Format 4, Unicode BMP table.
      50                 :   const uint8_t *subtable_0_3_4_data;
      51                 :   size_t subtable_0_3_4_length;
      52                 : 
      53                 :   // Platform 0, Encoding 5, Format 14, Unicode Variation Sequence table.
      54                 :   size_t subtable_0_5_14_length;
      55                 :   std::vector<OpenTypeCMAPSubtableVSRecord> subtable_0_5_14;
      56                 : 
      57                 :   // Platform 3, Encoding 0, Format 4, MS Symbol table.
      58                 :   const uint8_t *subtable_3_0_4_data;
      59                 :   size_t subtable_3_0_4_length;
      60                 :   // Platform 3, Encoding 1, Format 4, MS Unicode BMP table.
      61                 :   const uint8_t *subtable_3_1_4_data;
      62                 :   size_t subtable_3_1_4_length;
      63                 : 
      64                 :   // Platform 3, Encoding 10, Format 12, MS Unicode UCS-4 table.
      65                 :   std::vector<OpenTypeCMAPSubtableRange> subtable_3_10_12;
      66                 :   // Platform 3, Encoding 10, Format 13, MS UCS-4 Fallback table.
      67                 :   std::vector<OpenTypeCMAPSubtableRange> subtable_3_10_13;
      68                 :   // Platform 1, Encoding 0, Format 0, Mac Roman table.
      69                 :   std::vector<uint8_t> subtable_1_0_0;
      70                 : };
      71                 : 
      72                 : }  // namespace ots
      73                 : 
      74                 : #endif

Generated by: LCOV version 1.7