lib/kramdown/utils/entities.rb in kramdown-1.17.0 vs lib/kramdown/utils/entities.rb in kramdown-2.0.0.beta1

- old
+ new

@@ -1,9 +1,9 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8; frozen_string_literal: true -*- # #-- -# Copyright (C) 2009-2016 Thomas Leitner <t_leitner@gmx.at> +# Copyright (C) 2009-2019 Thomas Leitner <t_leitner@gmx.at> # # This file is part of kramdown which is licensed under the MIT. #++ # @@ -13,312 +13,310 @@ # Provides convenience methods for handling named and numeric entities. module Entities # Represents an entity that has a +code_point+ and +name+. - class Entity < Struct.new(:code_point, :name) - + Entity = Struct.new(:code_point, :name) do # Return the UTF8 representation of the entity. def char [code_point].pack('U*') rescue nil end - end # Array of arrays. Each sub-array specifies a code point and the associated name. # # This table is not used directly -- Entity objects are automatically created from it and put # into a Hash map when this file is loaded. ENTITY_TABLE = [ - [913, 'Alpha'], - [914, 'Beta'], - [915, 'Gamma'], - [916, 'Delta'], - [917, 'Epsilon'], - [918, 'Zeta'], - [919, 'Eta'], - [920, 'Theta'], - [921, 'Iota'], - [922, 'Kappa'], - [923, 'Lambda'], - [924, 'Mu'], - [925, 'Nu'], - [926, 'Xi'], - [927, 'Omicron'], - [928, 'Pi'], - [929, 'Rho'], - [931, 'Sigma'], - [932, 'Tau'], - [933, 'Upsilon'], - [934, 'Phi'], - [935, 'Chi'], - [936, 'Psi'], - [937, 'Omega'], - [945, 'alpha'], - [946, 'beta'], - [947, 'gamma'], - [948, 'delta'], - [949, 'epsilon'], - [950, 'zeta'], - [951, 'eta'], - [952, 'theta'], - [953, 'iota'], - [954, 'kappa'], - [955, 'lambda'], - [956, 'mu'], - [957, 'nu'], - [958, 'xi'], - [959, 'omicron'], - [960, 'pi'], - [961, 'rho'], - [963, 'sigma'], - [964, 'tau'], - [965, 'upsilon'], - [966, 'phi'], - [967, 'chi'], - [968, 'psi'], - [969, 'omega'], - [962, 'sigmaf'], - [977, 'thetasym'], - [978, 'upsih'], - [982, 'piv'], - [8204, 'zwnj'], - [8205, 'zwj'], - [8206, 'lrm'], - [8207, 'rlm'], - [8230, 'hellip'], - [8242, 'prime'], - [8243, 'Prime'], - [8254, 'oline'], - [8260, 'frasl'], - [8472, 'weierp'], - [8465, 'image'], - [8476, 'real'], - [8501, 'alefsym'], - [8226, 'bull'], - [8482, 'trade'], - [8592, 'larr'], - [8594, 'rarr'], - [8593, 'uarr'], - [8595, 'darr'], - [8596, 'harr'], - [8629, 'crarr'], - [8657, 'uArr'], - [8659, 'dArr'], - [8656, 'lArr'], - [8658, 'rArr'], - [8660, 'hArr'], - [8704, 'forall'], - [8706, 'part'], - [8707, 'exist'], - [8709, 'empty'], - [8711, 'nabla'], - [8712, 'isin'], - [8715, 'ni'], - [8713, 'notin'], - [8721, 'sum'], - [8719, 'prod'], - [8722, 'minus'], - [8727, 'lowast'], - [8730, 'radic'], - [8733, 'prop'], - [8734, 'infin'], - [8736, 'ang'], - [8743, 'and'], - [8744, 'or'], - [8745, 'cap'], - [8746, 'cup'], - [8747, 'int'], - [8756, 'there4'], - [8764, 'sim'], - [8776, 'asymp'], - [8773, 'cong'], - [8800, 'ne'], - [8801, 'equiv'], - [8804, 'le'], - [8805, 'ge'], - [8834, 'sub'], - [8835, 'sup'], - [8838, 'sube'], - [8839, 'supe'], - [8836, 'nsub'], - [8853, 'oplus'], - [8855, 'otimes'], - [8869, 'perp'], - [8901, 'sdot'], - [8942, 'vellip'], - [8968, 'rceil'], - [8969, 'lceil'], - [8970, 'lfloor'], - [8971, 'rfloor'], - [9001, 'rang'], - [9002, 'lang'], - [9674, 'loz'], - [9824, 'spades'], - [9827, 'clubs'], - [9829, 'hearts'], - [9830, 'diams'], - [38, 'amp'], - [34, 'quot'], - [39, 'apos'], - [169, 'copy'], - [60, 'lt'], - [62, 'gt'], - [338, 'OElig'], - [339, 'oelig'], - [352, 'Scaron'], - [353, 'scaron'], - [376, 'Yuml'], - [710, 'circ'], - [732, 'tilde'], - [8211, 'ndash'], - [8212, 'mdash'], - [8216, 'lsquo'], - [8217, 'rsquo'], - [8220, 'ldquo'], - [8221, 'rdquo'], - [8224, 'dagger'], - [8225, 'Dagger'], - [8240, 'permil'], - [8364, 'euro'], - [8249, 'lsaquo'], - [8250, 'rsaquo'], - [160, 'nbsp'], - [161, 'iexcl'], - [163, 'pound'], - [164, 'curren'], - [165, 'yen'], - [166, 'brvbar'], - [167, 'sect'], - [168, 'uml'], - [171, 'laquo'], - [187, 'raquo'], - [174, 'reg'], - [170, 'ordf'], - [172, 'not'], - [173, 'shy'], - [175, 'macr'], - [176, 'deg'], - [177, 'plusmn'], - [180, 'acute'], - [181, 'micro'], - [182, 'para'], - [183, 'middot'], - [184, 'cedil'], - [186, 'ordm'], - [162, 'cent'], - [185, 'sup1'], - [178, 'sup2'], - [179, 'sup3'], - [189, 'frac12'], - [188, 'frac14'], - [190, 'frac34'], - [191, 'iquest'], - [192, 'Agrave'], - [193, 'Aacute'], - [194, 'Acirc'], - [195, 'Atilde'], - [196, 'Auml'], - [197, 'Aring'], - [198, 'AElig'], - [199, 'Ccedil'], - [200, 'Egrave'], - [201, 'Eacute'], - [202, 'Ecirc'], - [203, 'Euml'], - [204, 'Igrave'], - [205, 'Iacute'], - [206, 'Icirc'], - [207, 'Iuml'], - [208, 'ETH'], - [209, 'Ntilde'], - [210, 'Ograve'], - [211, 'Oacute'], - [212, 'Ocirc'], - [213, 'Otilde'], - [214, 'Ouml'], - [215, 'times'], - [216, 'Oslash'], - [217, 'Ugrave'], - [218, 'Uacute'], - [219, 'Ucirc'], - [220, 'Uuml'], - [221, 'Yacute'], - [222, 'THORN'], - [223, 'szlig'], - [224, 'agrave'], - [225, 'aacute'], - [226, 'acirc'], - [227, 'atilde'], - [228, 'auml'], - [229, 'aring'], - [230, 'aelig'], - [231, 'ccedil'], - [232, 'egrave'], - [233, 'eacute'], - [234, 'ecirc'], - [235, 'euml'], - [236, 'igrave'], - [237, 'iacute'], - [238, 'icirc'], - [239, 'iuml'], - [240, 'eth'], - [241, 'ntilde'], - [242, 'ograve'], - [243, 'oacute'], - [244, 'ocirc'], - [245, 'otilde'], - [246, 'ouml'], - [247, 'divide'], - [248, 'oslash'], - [249, 'ugrave'], - [250, 'uacute'], - [251, 'ucirc'], - [252, 'uuml'], - [253, 'yacute'], - [254, 'thorn'], - [255, 'yuml'], + [913, 'Alpha'], + [914, 'Beta'], + [915, 'Gamma'], + [916, 'Delta'], + [917, 'Epsilon'], + [918, 'Zeta'], + [919, 'Eta'], + [920, 'Theta'], + [921, 'Iota'], + [922, 'Kappa'], + [923, 'Lambda'], + [924, 'Mu'], + [925, 'Nu'], + [926, 'Xi'], + [927, 'Omicron'], + [928, 'Pi'], + [929, 'Rho'], + [931, 'Sigma'], + [932, 'Tau'], + [933, 'Upsilon'], + [934, 'Phi'], + [935, 'Chi'], + [936, 'Psi'], + [937, 'Omega'], + [945, 'alpha'], + [946, 'beta'], + [947, 'gamma'], + [948, 'delta'], + [949, 'epsilon'], + [950, 'zeta'], + [951, 'eta'], + [952, 'theta'], + [953, 'iota'], + [954, 'kappa'], + [955, 'lambda'], + [956, 'mu'], + [957, 'nu'], + [958, 'xi'], + [959, 'omicron'], + [960, 'pi'], + [961, 'rho'], + [963, 'sigma'], + [964, 'tau'], + [965, 'upsilon'], + [966, 'phi'], + [967, 'chi'], + [968, 'psi'], + [969, 'omega'], + [962, 'sigmaf'], + [977, 'thetasym'], + [978, 'upsih'], + [982, 'piv'], + [8204, 'zwnj'], + [8205, 'zwj'], + [8206, 'lrm'], + [8207, 'rlm'], + [8230, 'hellip'], + [8242, 'prime'], + [8243, 'Prime'], + [8254, 'oline'], + [8260, 'frasl'], + [8472, 'weierp'], + [8465, 'image'], + [8476, 'real'], + [8501, 'alefsym'], + [8226, 'bull'], + [8482, 'trade'], + [8592, 'larr'], + [8594, 'rarr'], + [8593, 'uarr'], + [8595, 'darr'], + [8596, 'harr'], + [8629, 'crarr'], + [8657, 'uArr'], + [8659, 'dArr'], + [8656, 'lArr'], + [8658, 'rArr'], + [8660, 'hArr'], + [8704, 'forall'], + [8706, 'part'], + [8707, 'exist'], + [8709, 'empty'], + [8711, 'nabla'], + [8712, 'isin'], + [8715, 'ni'], + [8713, 'notin'], + [8721, 'sum'], + [8719, 'prod'], + [8722, 'minus'], + [8727, 'lowast'], + [8730, 'radic'], + [8733, 'prop'], + [8734, 'infin'], + [8736, 'ang'], + [8743, 'and'], + [8744, 'or'], + [8745, 'cap'], + [8746, 'cup'], + [8747, 'int'], + [8756, 'there4'], + [8764, 'sim'], + [8776, 'asymp'], + [8773, 'cong'], + [8800, 'ne'], + [8801, 'equiv'], + [8804, 'le'], + [8805, 'ge'], + [8834, 'sub'], + [8835, 'sup'], + [8838, 'sube'], + [8839, 'supe'], + [8836, 'nsub'], + [8853, 'oplus'], + [8855, 'otimes'], + [8869, 'perp'], + [8901, 'sdot'], + [8942, 'vellip'], + [8968, 'rceil'], + [8969, 'lceil'], + [8970, 'lfloor'], + [8971, 'rfloor'], + [9001, 'rang'], + [9002, 'lang'], + [9674, 'loz'], + [9824, 'spades'], + [9827, 'clubs'], + [9829, 'hearts'], + [9830, 'diams'], + [38, 'amp'], + [34, 'quot'], + [39, 'apos'], + [169, 'copy'], + [60, 'lt'], + [62, 'gt'], + [338, 'OElig'], + [339, 'oelig'], + [352, 'Scaron'], + [353, 'scaron'], + [376, 'Yuml'], + [710, 'circ'], + [732, 'tilde'], + [8211, 'ndash'], + [8212, 'mdash'], + [8216, 'lsquo'], + [8217, 'rsquo'], + [8220, 'ldquo'], + [8221, 'rdquo'], + [8224, 'dagger'], + [8225, 'Dagger'], + [8240, 'permil'], + [8364, 'euro'], + [8249, 'lsaquo'], + [8250, 'rsaquo'], + [160, 'nbsp'], + [161, 'iexcl'], + [163, 'pound'], + [164, 'curren'], + [165, 'yen'], + [166, 'brvbar'], + [167, 'sect'], + [168, 'uml'], + [171, 'laquo'], + [187, 'raquo'], + [174, 'reg'], + [170, 'ordf'], + [172, 'not'], + [173, 'shy'], + [175, 'macr'], + [176, 'deg'], + [177, 'plusmn'], + [180, 'acute'], + [181, 'micro'], + [182, 'para'], + [183, 'middot'], + [184, 'cedil'], + [186, 'ordm'], + [162, 'cent'], + [185, 'sup1'], + [178, 'sup2'], + [179, 'sup3'], + [189, 'frac12'], + [188, 'frac14'], + [190, 'frac34'], + [191, 'iquest'], + [192, 'Agrave'], + [193, 'Aacute'], + [194, 'Acirc'], + [195, 'Atilde'], + [196, 'Auml'], + [197, 'Aring'], + [198, 'AElig'], + [199, 'Ccedil'], + [200, 'Egrave'], + [201, 'Eacute'], + [202, 'Ecirc'], + [203, 'Euml'], + [204, 'Igrave'], + [205, 'Iacute'], + [206, 'Icirc'], + [207, 'Iuml'], + [208, 'ETH'], + [209, 'Ntilde'], + [210, 'Ograve'], + [211, 'Oacute'], + [212, 'Ocirc'], + [213, 'Otilde'], + [214, 'Ouml'], + [215, 'times'], + [216, 'Oslash'], + [217, 'Ugrave'], + [218, 'Uacute'], + [219, 'Ucirc'], + [220, 'Uuml'], + [221, 'Yacute'], + [222, 'THORN'], + [223, 'szlig'], + [224, 'agrave'], + [225, 'aacute'], + [226, 'acirc'], + [227, 'atilde'], + [228, 'auml'], + [229, 'aring'], + [230, 'aelig'], + [231, 'ccedil'], + [232, 'egrave'], + [233, 'eacute'], + [234, 'ecirc'], + [235, 'euml'], + [236, 'igrave'], + [237, 'iacute'], + [238, 'icirc'], + [239, 'iuml'], + [240, 'eth'], + [241, 'ntilde'], + [242, 'ograve'], + [243, 'oacute'], + [244, 'ocirc'], + [245, 'otilde'], + [246, 'ouml'], + [247, 'divide'], + [248, 'oslash'], + [249, 'ugrave'], + [250, 'uacute'], + [251, 'ucirc'], + [252, 'uuml'], + [253, 'yacute'], + [254, 'thorn'], + [255, 'yuml'], - [8218, 'sbquo'], - [402, 'fnof'], - [8222, 'bdquo'], + [8218, 'sbquo'], + [402, 'fnof'], + [8222, 'bdquo'], - [128, 8364], - [130, 8218], - [131, 402], - [132, 8222], - [133, 8230], - [134, 8224], - [135, 8225], - [136, 710], - [137, 8240], - [138, 352], - [139, 8249], - [140, 338], - [142, 381], - [145, 8216], - [146, 8217], - [147, 8220], - [148, 8221], - [149, 8226], - [150, 8211], - [151, 8212], - [152, 732], - [153, 8482], - [154, 353], - [155, 8250], - [156, 339], - [158, 382], - [159, 376], + [128, 8364], + [130, 8218], + [131, 402], + [132, 8222], + [133, 8230], + [134, 8224], + [135, 8225], + [136, 710], + [137, 8240], + [138, 352], + [139, 8249], + [140, 338], + [142, 381], + [145, 8216], + [146, 8217], + [147, 8220], + [148, 8221], + [149, 8226], + [150, 8211], + [151, 8212], + [152, 732], + [153, 8482], + [154, 353], + [155, 8250], + [156, 339], + [158, 382], + [159, 376], - [8194, 'ensp'], - [8195, 'emsp'], - [8201, 'thinsp'], - ] + [8194, 'ensp'], + [8195, 'emsp'], + [8201, 'thinsp'], + ] # Contains the mapping of code point (or name) to the actual Entity object. - ENTITY_MAP = Hash.new do |h,k| + ENTITY_MAP = Hash.new do |h, k| if k.kind_of?(Integer) h[k] = Entity.new(k, nil) else raise Kramdown::Error, "Can't handle generic non-integer character reference '#{k}'" end @@ -342,6 +340,5 @@ end end end -