Path: blob/master/thirdparty/graphite/src/inc/FileFace.h
9906 views
// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later1// Copyright 2012, SIL International, All rights reserved.23#pragma once45//#include "inc/FeatureMap.h"6//#include "inc/GlyphsCache.h"7//#include "inc/Silf.h"89#ifndef GRAPHITE2_NFILEFACE1011#include <cstdio>12#include <cassert>1314#include "graphite2/Font.h"1516#include "inc/Main.h"17#include "inc/TtfTypes.h"18#include "inc/TtfUtil.h"1920namespace graphite2 {212223class FileFace24{25static const void * get_table_fn(const void* appFaceHandle, unsigned int name, size_t *len);26static void rel_table_fn(const void* appFaceHandle, const void *table_buffer);2728public:29static const gr_face_ops ops;3031FileFace(const char *filename);32~FileFace();3334operator bool () const throw();35CLASS_NEW_DELETE;3637private: //defensive38FILE * _file;39size_t _file_len;4041TtfUtil::Sfnt::OffsetSubTable * _header_tbl;42TtfUtil::Sfnt::OffsetSubTable::Entry * _table_dir;4344FileFace(const FileFace&);45FileFace& operator=(const FileFace&);46};4748inline49FileFace::operator bool() const throw()50{51return _file && _header_tbl && _table_dir;52}5354} // namespace graphite25556#endif //!GRAPHITE2_NFILEFACE575859