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/table/core/maximum_profile_table.h" 1830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 1930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunnamespace sfntly { 2030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun/****************************************************************************** 2130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * MaximumProfileTable class 2230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun ******************************************************************************/ 2330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim GurunMaximumProfileTable::~MaximumProfileTable() {} 2430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 2530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::TableVersion() { 2630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadFixed(Offset::kVersion); 2730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 2830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 2930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::NumGlyphs() { 3030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kNumGlyphs); 3130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 3230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 3330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxPoints() { 3430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxPoints); 3530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 3630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 3730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxContours() { 3830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxContours); 3930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 4030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 4130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxCompositePoints() { 4230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxCompositePoints); 4330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 4430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 4530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxCompositeContours() { 4630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxCompositeContours); 4730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 4830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 4930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxZones() { 5030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxZones); 5130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 5230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 5330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxTwilightPoints() { 5430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxTwilightPoints); 5530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 5630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 5730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxStorage() { 5830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxStorage); 5930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 6030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 6130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxFunctionDefs() { 6230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxFunctionDefs); 6330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 6430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 6530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxStackElements() { 6630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxStackElements); 6730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 6830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 6930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxSizeOfInstructions() { 7030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxSizeOfInstructions); 7130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 7230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 7330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxComponentElements() { 7430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxComponentElements); 7530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 7630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 7730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::MaxComponentDepth() { 7830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return data_->ReadUShort(Offset::kMaxComponentDepth); 7930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 8030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 8130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim GurunMaximumProfileTable::MaximumProfileTable(Header* header, 8230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun ReadableFontData* data) 8330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun : Table(header, data) { 8430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 8530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 8630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun/****************************************************************************** 8730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun * MaximumProfileTable::Builder class 8830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun ******************************************************************************/ 8930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim GurunMaximumProfileTable::Builder::Builder(Header* header, WritableFontData* data) 9030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun : TableBasedTableBuilder(header, data) { 9130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 9230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 9330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim GurunMaximumProfileTable::Builder::Builder(Header* header, ReadableFontData* data) 9430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun : TableBasedTableBuilder(header, data) { 9530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 9630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 9730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim GurunMaximumProfileTable::Builder::~Builder() {} 9830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 9930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim GurunCALLER_ATTACH FontDataTable* 10030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun MaximumProfileTable::Builder::SubBuildTable(ReadableFontData* data) { 10130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun FontDataTablePtr table = new MaximumProfileTable(header(), data); 10230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return table.Detach(); 10330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 10430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 10530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim GurunCALLER_ATTACH MaximumProfileTable::Builder* 10630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun MaximumProfileTable::Builder::CreateBuilder(Header* header, 10730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun WritableFontData* data) { 10830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun Ptr<MaximumProfileTable::Builder> builder; 10930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun builder = new MaximumProfileTable::Builder(header, data); 11030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return builder.Detach(); 11130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 11230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 11330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::TableVersion() { 11430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kVersion); 11530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 11630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 11730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetTableVersion(int32_t version) { 11830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kVersion, version); 11930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 12030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 12130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::NumGlyphs() { 12230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kNumGlyphs); 12330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 12430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 12530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetNumGlyphs(int32_t num_glyphs) { 12630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kNumGlyphs, num_glyphs); 12730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 12830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 12930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxPoints() { 13030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxPoints); 13130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 13230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 13330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxPoints(int32_t max_points) { 13430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxPoints, max_points); 13530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 13630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 13730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxContours() { 13830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxContours); 13930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 14030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 14130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxContours(int32_t max_contours) { 14230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxContours, max_contours); 14330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 14430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 14530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxCompositePoints() { 14630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxCompositePoints); 14730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 14830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 14930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxCompositePoints( 15030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun int32_t max_composite_points) { 15130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxCompositePoints, 15230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun max_composite_points); 15330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 15430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 15530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxCompositeContours() { 15630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxCompositeContours); 15730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 15830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 15930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxCompositeContours( 16030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun int32_t max_composite_contours) { 16130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxCompositeContours, 16230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun max_composite_contours); 16330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 16430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 16530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxZones() { 16630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxZones); 16730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 16830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 16930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxZones(int32_t max_zones) { 17030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxZones, max_zones); 17130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 17230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 17330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxTwilightPoints() { 17430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxTwilightPoints); 17530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 17630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 17730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxTwilightPoints( 17830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun int32_t max_twilight_points) { 17930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxTwilightPoints, 18030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun max_twilight_points); 18130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 18230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 18330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxStorage() { 18430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxStorage); 18530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 18630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 18730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxStorage(int32_t max_storage) { 18830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxStorage, max_storage); 18930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 19030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 19130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxFunctionDefs() { 19230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxFunctionDefs); 19330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 19430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 19530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxFunctionDefs( 19630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun int32_t max_function_defs) { 19730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxFunctionDefs, max_function_defs); 19830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 19930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 20030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxStackElements() { 20130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxStackElements); 20230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 20330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 20430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxStackElements( 20530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun int32_t max_stack_elements) { 20630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxStackElements, 20730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun max_stack_elements); 20830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 20930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 21030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxSizeOfInstructions() { 21130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxSizeOfInstructions); 21230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 21330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 21430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxSizeOfInstructions( 21530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun int32_t max_size_of_instructions) { 21630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxSizeOfInstructions, 21730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun max_size_of_instructions); 21830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 21930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 22030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxComponentElements() { 22130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxComponentElements); 22230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 22330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 22430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxComponentElements( 22530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun int32_t max_component_elements) { 22630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxComponentElements, 22730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun max_component_elements); 22830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 22930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 23030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunint32_t MaximumProfileTable::Builder::MaxComponentDepth() { 23130d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun return InternalReadData()->ReadUShort(Offset::kMaxComponentDepth); 23230d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 23330d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 23430d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurunvoid MaximumProfileTable::Builder::SetMaxComponentDepth( 23530d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun int32_t max_component_depth) { 23630d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun InternalWriteData()->WriteUShort(Offset::kMaxComponentDepth, 23730d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun max_component_depth); 23830d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} 23930d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun 24030d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cdSelim Gurun} // namespace sfntly 241