130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun/*
230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * Copyright 2011 Google Inc. All Rights Reserved.
330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun *
430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * Licensed under the Apache License, Version 2.0 (the "License");
530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * you may not use this file except in compliance with the License.
630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * You may obtain a copy of the License at
730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun *
830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun *      http://www.apache.org/licenses/LICENSE-2.0
930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun *
1030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * Unless required by applicable law or agreed to in writing, software
1130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * distributed under the License is distributed on an "AS IS" BASIS,
1230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * See the License for the specific language governing permissions and
1430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * limitations under the License.
1530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun */
1630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
1730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun#include "sfntly/tag.cc"
1830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun#include "test/test_data.h"
1930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
2030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunnamespace sfntly {
2130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
2230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun// If the TTF file used in test changed, the verify*.cc in test need to be
2330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun// changed also.
2430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun// TODO(arthurhsu): Refactor this into a test class and have all const inside.
2530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun//                  This way we can test multiple fonts using same set of
2630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun//                  code.
2730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
2830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst char* SAMPLE_TTF_FILE = "Tuffy.ttf";
2930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst char* SAMPLE_BITMAP_FONT = "AnonymousPro-Regular.ttf";
3030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
3130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst size_t SAMPLE_TTF_SIZE = 183936;
3230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst size_t SAMPLE_TTF_TABLES = 17;
3330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst size_t SAMPLE_TTF_KNOWN_TAGS = 16;
3430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst size_t SAMPLE_BITMAP_KNOWN_TAGS = 20;
3530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst size_t SAMPLE_TTF_FEAT = 3;
3630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst size_t SAMPLE_TTF_HEAD = 6;
3730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst size_t SAMPLE_TTF_POST = 14;
3830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
3930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst int32_t TTF_KNOWN_TAGS[] = {
4030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    Tag::OS_2, Tag::cmap, Tag::cvt,  Tag::feat, Tag::gasp,
4130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    Tag::glyf, Tag::head, Tag::hhea, Tag::hmtx, Tag::kern,
4230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    Tag::loca, Tag::maxp, Tag::morx, Tag::name, Tag::post,
4330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    Tag::prop };
4430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
4530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst int32_t BITMAP_KNOWN_TAGS[] = {
4630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    Tag::EBDT, Tag::EBLC, Tag::EBSC, Tag::LTSH, Tag::OS_2,
4730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    Tag::VDMX, Tag::cmap, Tag::cvt,  Tag::fpgm, Tag::gasp,
4830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    Tag::glyf, Tag::hdmx, Tag::head, Tag::hhea, Tag::hmtx,
4930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    Tag::loca, Tag::maxp, Tag::name, Tag::post, Tag::prep };
5030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
5130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst int64_t TTF_CHECKSUM[] = {
5230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0xD463FC48, 0x252028D1, 0x0065078A, 0xC01407B5, 0xFFFF0003,
5330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0x9544342B, 0xFC8F16AD, 0x0EC30C7A, 0xA029CD5D, 0x32513087,
5430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0x05C323B0, 0x06320195, 0x3B67E701, 0xE7DB08F3, 0xD46E5E89,
5530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0xE6EB4A27 };
5630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
5730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst int64_t TTF_OFFSET[] = {
5830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0x00000198, 0x00001964, 0x000025B0, 0x0002CA74, 0x0002C854,
5930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0x00003D34, 0x0000011C, 0x00000154, 0x000001F0, 0x000245D8,
6030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0x000025B8, 0x00000178, 0x0002CAB4, 0x00024860, 0x00028854,
6130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0x0002C85C };
6230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
6330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst int32_t TTF_LENGTH[] = {
6430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun            86,       3146,          8,         64,          8,
6530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun        133284,         54,         36,       6002,        648,
6630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun          6012,         32,        944,      16371,      16383,
6730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun           536 };
6830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
6930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunconst unsigned char TTF_FEAT_DATA[] = {
7030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
7130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0, 0, 0, 0x30, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0x34,
7230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0, 0, 1, 1, 0, 0xB, 0, 2, 0, 0, 0, 0x38, 0xC0, 0, 1, 2,
7330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun    0, 0, 1, 3, 0, 2, 1, 4, 0, 0, 1, 5, 0, 2, 1, 6 };
7430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun
7530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun}  // namespace sfntly
76