# -*- 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-2022 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 built-in encoding of the Symbol font. # # See: PDF1.7 sD.5 class SymbolEncoding < Base def initialize #:nodoc: super @code_to_name = { 0101 => :Alpha, 0102 => :Beta, 0103 => :Chi, 0104 => :Delta, 0105 => :Epsilon, 0110 => :Eta, 0240 => :Euro, 0107 => :Gamma, 0301 => :Ifraktur, 0111 => :Iota, 0113 => :Kappa, 0114 => :Lambda, 0115 => :Mu, 0116 => :Nu, 0127 => :Omega, 0117 => :Omicron, 0106 => :Phi, 0120 => :Pi, 0131 => :Psi, 0302 => :Rfraktur, 0122 => :Rho, 0123 => :Sigma, 0124 => :Tau, 0121 => :Theta, 0125 => :Upsilon, 0241 => :Upsilon1, 0130 => :Xi, 0132 => :Zeta, 0300 => :aleph, 0141 => :alpha, 0046 => :ampersand, 0320 => :angle, 0341 => :angleleft, 0361 => :angleright, 0273 => :approxequal, 0253 => :arrowboth, 0333 => :arrowdblboth, 0337 => :arrowdbldown, 0334 => :arrowdblleft, 0336 => :arrowdblright, 0335 => :arrowdblup, 0257 => :arrowdown, 0276 => :arrowhorizex, 0254 => :arrowleft, 0256 => :arrowright, 0255 => :arrowup, 0275 => :arrowvertex, 0052 => :asteriskmath, 0174 => :bar, 0142 => :beta, 0173 => :braceleft, 0175 => :braceright, 0354 => :bracelefttp, 0355 => :braceleftmid, 0356 => :braceleftbt, 0374 => :bracerighttp, 0375 => :bracerightmid, 0376 => :bracerightbt, 0357 => :braceex, 0133 => :bracketleft, 0135 => :bracketright, 0351 => :bracketlefttp, 0352 => :bracketleftex, 0353 => :bracketleftbt, 0371 => :bracketrighttp, 0372 => :bracketrightex, 0373 => :bracketrightbt, 0267 => :bullet, 0277 => :carriagereturn, 0143 => :chi, 0304 => :circlemultiply, 0305 => :circleplus, 0247 => :club, 0072 => :colon, 0054 => :comma, 0100 => :congruent, 0343 => :copyrightsans, 0323 => :copyrightserif, 0260 => :degree, 0144 => :delta, 0250 => :diamond, 0270 => :divide, 0327 => :dotmath, 0070 => :eight, 0316 => :element, 0274 => :ellipsis, 0306 => :emptyset, 0145 => :epsilon, 0075 => :equal, 0272 => :equivalence, 0150 => :eta, 0041 => :exclam, 0044 => :existential, 0065 => :five, 0246 => :florin, 0064 => :four, 0244 => :fraction, 0147 => :gamma, 0321 => :gradient, 0076 => :greater, 0263 => :greaterequal, 0251 => :heart, 0245 => :infinity, 0362 => :integral, 0363 => :integraltp, 0364 => :integralex, 0365 => :integralbt, 0307 => :intersection, 0151 => :iota, 0153 => :kappa, 0154 => :lambda, 0074 => :less, 0243 => :lessequal, 0331 => :logicaland, 0330 => :logicalnot, 0332 => :logicalor, 0340 => :lozenge, 0055 => :minus, 0242 => :minute, 0155 => :mu, 0264 => :multiply, 0071 => :nine, 0317 => :notelement, 0271 => :notequal, 0313 => :notsubset, 0156 => :nu, 0043 => :numbersign, 0167 => :omega, 0166 => :omega1, 0157 => :omicron, 0061 => :one, 0050 => :parenleft, 0051 => :parenright, 0346 => :parenlefttp, 0347 => :parenleftex, 0350 => :parenleftbt, 0366 => :parenrighttp, 0367 => :parenrightex, 0370 => :parenrightbt, 0266 => :partialdiff, 0045 => :percent, 0056 => :period, 0136 => :perpendicular, 0146 => :phi, 0152 => :phi1, 0160 => :pi, 0053 => :plus, 0261 => :plusminus, 0325 => :product, 0314 => :propersubset, 0311 => :propersuperset, 0265 => :proportional, 0171 => :psi, 0077 => :question, 0326 => :radical, 0140 => :radicalex, 0315 => :reflexsubset, 0312 => :reflexsuperset, 0342 => :registersans, 0322 => :registerserif, 0162 => :rho, 0262 => :second, 0073 => :semicolon, 0067 => :seven, 0163 => :sigma, 0126 => :sigma1, 0176 => :similar, 0066 => :six, 0057 => :slash, 0040 => :space, 0252 => :spade, 0047 => :suchthat, 0345 => :summation, 0164 => :tau, 0134 => :therefore, 0161 => :theta, 0112 => :theta1, 0063 => :three, 0344 => :trademarksans, 0324 => :trademarkserif, 0062 => :two, 0137 => :underscore, 0310 => :union, 0042 => :universal, 0165 => :upsilon, 0303 => :weierstrass, 0170 => :xi, 0060 => :zero, 0172 => :zeta, } end end end end end