blob: e88cad4d226450889d81c4b6f6e096da768e993f [file] [log] [blame]
/**
* 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 <stdint.h>
#include <ft2build.h>
#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;
}