/** * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include FT_FREETYPE_H int main(int argc, char **argv) { if (argc != 2) { return EXIT_FAILURE; } FILE *fp = fopen(argv[1], "rb"); if (!fp) { return EXIT_FAILURE; } fseek(fp, 0, SEEK_END); size_t size = ftell(fp); fseek(fp, 0, SEEK_SET); if (size < 1) { fclose(fp); return EXIT_FAILURE; } uint8_t *data = new uint8_t[size]; if (!data) { fclose(fp); return EXIT_FAILURE; } (void)fread(data, sizeof(uint8_t), size, fp); fclose(fp); fp = nullptr; FT_Library ftLib; if (FT_Init_FreeType(&ftLib)) { delete[] data; return EXIT_FAILURE; } FT_Face ftFace; FT_New_Memory_Face(ftLib, data, size, -33, &ftFace); FT_Done_FreeType(ftLib); delete[] data; return EXIT_SUCCESS; }