# -*- encoding: utf-8; frozen_string_literal: true -*-
#
#--
# This file is part of HexaPDF.
#
# HexaPDF - A Versatile PDF Creation and Manipulation Library For Ruby
# Copyright (C) 2014-2021 Thomas Leitner
#
# HexaPDF is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License version 3 as
# published by the Free Software Foundation with the addition of the
# following permission added to Section 15 as permitted in Section 7(a):
# FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY
# THOMAS LEITNER, THOMAS LEITNER DISCLAIMS THE WARRANTY OF NON
# INFRINGEMENT OF THIRD PARTY RIGHTS.
#
# HexaPDF is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
# License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with HexaPDF. If not, see .
#
# The interactive user interfaces in modified source and object code
# versions of HexaPDF must display Appropriate Legal Notices, as required
# under Section 5 of the GNU Affero General Public License version 3.
#
# In accordance with Section 7(b) of the GNU Affero General Public
# License, a covered work must retain the producer line in every PDF that
# is created or manipulated using HexaPDF.
#
# If the GNU Affero General Public License doesn't fit your need,
# commercial licenses are available at .
#++
require 'hexapdf/font/encoding/base'
module HexaPDF
module Font
module Encoding
# The MacExpertEncoding for Latin texts.
#
# See: PDF1.7 sD.4
class MacExpertEncoding < Base
def initialize #:nodoc:
super
@encoding_name = :MacExpertEncoding
@code_to_name = {
0276 => :AEsmall,
0207 => :Aacutesmall,
0211 => :Acircumflexsmall,
0047 => :Acutesmall,
0212 => :Adieresissmall,
0210 => :Agravesmall,
0214 => :Aringsmall,
0141 => :Asmall,
0213 => :Atildesmall,
0363 => :Brevesmall,
0142 => :Bsmall,
0256 => :Caronsmall,
0215 => :Ccedillasmall,
0311 => :Cedillasmall,
0136 => :Circumflexsmall,
0143 => :Csmall,
0254 => :Dieresissmall,
0372 => :Dotaccentsmall,
0144 => :Dsmall,
0216 => :Eacutesmall,
0220 => :Ecircumflexsmall,
0221 => :Edieresissmall,
0217 => :Egravesmall,
0145 => :Esmall,
0104 => :Ethsmall,
0146 => :Fsmall,
0140 => :Gravesmall,
0147 => :Gsmall,
0150 => :Hsmall,
0042 => :Hungarumlautsmall,
0222 => :Iacutesmall,
0224 => :Icircumflexsmall,
0225 => :Idieresissmall,
0223 => :Igravesmall,
0151 => :Ismall,
0152 => :Jsmall,
0153 => :Ksmall,
0302 => :Lslashsmall,
0154 => :Lsmall,
0364 => :Macronsmall,
0155 => :Msmall,
0156 => :Nsmall,
0226 => :Ntildesmall,
0317 => :OEsmall,
0227 => :Oacutesmall,
0231 => :Ocircumflexsmall,
0232 => :Odieresissmall,
0362 => :Ogoneksmall,
0230 => :Ogravesmall,
0277 => :Oslashsmall,
0157 => :Osmall,
0233 => :Otildesmall,
0160 => :Psmall,
0161 => :Qsmall,
0373 => :Ringsmall,
0162 => :Rsmall,
0247 => :Scaronsmall,
0163 => :Ssmall,
0271 => :Thornsmall,
0176 => :Tildesmall,
0164 => :Tsmall,
0234 => :Uacutesmall,
0236 => :Ucircumflexsmall,
0237 => :Udieresissmall,
0235 => :Ugravesmall,
0165 => :Usmall,
0166 => :Vsmall,
0167 => :Wsmall,
0170 => :Xsmall,
0264 => :Yacutesmall,
0330 => :Ydieresissmall,
0171 => :Ysmall,
0275 => :Zcaronsmall,
0172 => :Zsmall,
0046 => :ampersandsmall,
0201 => :asuperior,
0365 => :bsuperior,
0251 => :centinferior,
0043 => :centoldstyle,
0202 => :centsuperior,
0072 => :colon,
0173 => :colonmonetary,
0054 => :comma,
0262 => :commainferior,
0370 => :commasuperior,
0266 => :dollarinferior,
0044 => :dollaroldstyle,
0045 => :dollarsuperior,
0353 => :dsuperior,
0245 => :eightinferior,
0070 => :eightoldstyle,
0241 => :eightsuperior,
0344 => :esuperior,
0326 => :exclamdownsmall,
0041 => :exclamsmall,
0126 => :ff,
0131 => :ffi,
0132 => :ffl,
0127 => :fi,
0320 => :figuredash,
0114 => :fiveeighths,
0260 => :fiveinferior,
0065 => :fiveoldstyle,
0336 => :fivesuperior,
0130 => :fl,
0242 => :fourinferior,
0064 => :fouroldstyle,
0335 => :foursuperior,
0057 => :fraction,
0055 => :hyphen,
0137 => :hypheninferior,
0321 => :hyphensuperior,
0351 => :isuperior,
0361 => :lsuperior,
0367 => :msuperior,
0273 => :nineinferior,
0071 => :nineoldstyle,
0341 => :ninesuperior,
0366 => :nsuperior,
0053 => :onedotenleader,
0112 => :oneeighth,
0174 => :onefitted,
0110 => :onehalf,
0301 => :oneinferior,
0061 => :oneoldstyle,
0107 => :onequarter,
0332 => :onesuperior,
0116 => :onethird,
0257 => :osuperior,
0133 => :parenleftinferior,
0050 => :parenleftsuperior,
0135 => :parenrightinferior,
0051 => :parenrightsuperior,
0056 => :period,
0263 => :periodinferior,
0371 => :periodsuperior,
0300 => :questiondownsmall,
0077 => :questionsmall,
0345 => :rsuperior,
0175 => :rupiah,
0073 => :semicolon,
0115 => :seveneighths,
0246 => :seveninferior,
0067 => :sevenoldstyle,
0340 => :sevensuperior,
0244 => :sixinferior,
0066 => :sixoldstyle,
0337 => :sixsuperior,
0040 => :space,
0352 => :ssuperior,
0113 => :threeeighths,
0243 => :threeinferior,
0063 => :threeoldstyle,
0111 => :threequarters,
0075 => :threequartersemdash,
0334 => :threesuperior,
0346 => :tsuperior,
0052 => :twodotenleader,
0252 => :twoinferior,
0062 => :twooldstyle,
0333 => :twosuperior,
0117 => :twothirds,
0274 => :zeroinferior,
0060 => :zerooldstyle,
0342 => :zerosuperior,
}
end
end
end
end
end