19cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien/* 2065c46a665d562c93ffa82fda10dee52a16ac23bSeigo Nonaka * Copyright (C) 2017 The Android Open Source Project 39cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * 49cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * Licensed under the Apache License, Version 2.0 (the "License"); 59cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * you may not use this file except in compliance with the License. 69cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * You may obtain a copy of the License at 79cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * 89cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * http://www.apache.org/licenses/LICENSE-2.0 99cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * 109cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * Unless required by applicable law or agreed to in writing, software 119cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * distributed under the License is distributed on an "AS IS" BASIS, 129cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * See the License for the specific language governing permissions and 149cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien * limitations under the License. 159cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien */ 169cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien 17065c46a665d562c93ffa82fda10dee52a16ac23bSeigo Nonaka#ifndef MINIKIN_FONT_UTILS_H 18065c46a665d562c93ffa82fda10dee52a16ac23bSeigo Nonaka#define MINIKIN_FONT_UTILS_H 19065c46a665d562c93ffa82fda10dee52a16ac23bSeigo Nonaka 20065c46a665d562c93ffa82fda10dee52a16ac23bSeigo Nonaka#include <unordered_set> 219cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien 2214e2d136aaef271ba131f917cf5f27baa31ae5adSeigo Nonakanamespace minikin { 239cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien 249cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levienbool analyzeStyle(const uint8_t* os2_data, size_t os2_size, int* weight, bool* italic); 25065c46a665d562c93ffa82fda10dee52a16ac23bSeigo Nonakavoid analyzeAxes(const uint8_t* fvar_data, size_t fvar_size, std::unordered_set<uint32_t>* axes); 269cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien 2714e2d136aaef271ba131f917cf5f27baa31ae5adSeigo Nonaka} // namespace minikin 289cc9bbe1461f359f0b27c5e7645c17dda001ab1dRaph Levien 2914e2d136aaef271ba131f917cf5f27baa31ae5adSeigo Nonaka#endif // MINIKIN_ANALYZE_STYLE_H 30