ea 0.6.130 → 0.6.132

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e877fc8eb012620c93ed24548c721e3667363494d993399c4eb2c9dbcccd978e
4
- data.tar.gz: '09b81ec266d8d07bd4e4609e9857346a20d797240661096d6aabe5a86041627e'
3
+ metadata.gz: a542204dd94a1259f110781e2aefa2240a73ad54b382e50e23599efd1ecc81e7
4
+ data.tar.gz: a508d4a7764678223708a317bc624f1e3eec295317e082cc15227705deac8343
5
5
  SHA512:
6
- metadata.gz: 8461c82ecb976509ce37c1a52a7fd5ecb3439df8d2da348e3a0b1ead2329cb8a3bff22e5f0e84cf0eb768d2d99767f824e75d8d21c1797a21996fc9122d63b45
7
- data.tar.gz: ee2f6c0b1330ab92aa68ec2a970134b2d83c1373920945e9652577ea5443645fafa8ef8e56cd5b8ecd9c2004d51b1a3917ac02997c2241b0cee004e87e73819a
6
+ metadata.gz: 2df081d4e9815a2006c2de93f590a748bba596f8550bc9546a5e505f8cdda94b0519a13a32d90106527123685e4432161227ab6f00c73f1d8520d305bac44a6d
7
+ data.tar.gz: a100a9f9fb968da363f620390edc2e72321e9129032ed616c4cce9d9e0caefac8d3ea5fcae04a406dff42e2c08bb331f7742ab9ed5fccc528970a74270897d4d
@@ -30,7 +30,8 @@ module Ea
30
30
  "carlito" => "Carlito",
31
31
  "arial" => "Arial",
32
32
  "arial narrow" => "Arial Narrow",
33
- "cambria" => "Cambria"
33
+ "cambria" => "Cambria",
34
+ "source sans pro" => "Source Sans Pro"
34
35
  }.freeze
35
36
 
36
37
  # Cambria measurements are in SVG units at 7pt, not em advances.
@@ -63,10 +64,15 @@ module Ea
63
64
  CARLITO_GDI_WIDTHS = JSON.parse(File.read(
64
65
  File.expand_path("carlito_gdi_widths.json", __dir__)
65
66
  )).fetch("widths").freeze
67
+ # Source Sans Pro design advances (em) per style, extracted from the
68
+ # TTF hmtx tables; summed after the same per-glyph GDI quantization.
69
+ SOURCE_SANS_PRO_ADVANCES = JSON.parse(File.read(
70
+ File.expand_path("source_sans_pro_advances.json", __dir__)
71
+ )).fetch("advance").freeze
66
72
  private_constant :CAMBRIA_7_REGULAR_WIDTHS, :CAMBRIA_7_STYLED_WIDTHS,
67
73
  :CAMBRIA_7_GUILLEMET_PAIR_WIDTH, :VERTICAL_METRICS,
68
74
  :CJK_FALLBACK_WIDTHS, :CJK_FALLBACK_FAMILIES,
69
- :CARLITO_GDI_WIDTHS
75
+ :CARLITO_GDI_WIDTHS, :SOURCE_SANS_PRO_ADVANCES
70
76
 
71
77
  # Advance used for codepoints missing from the tables.
72
78
  DEFAULT_ADVANCE = 0.25
@@ -234,7 +240,7 @@ module Ea
234
240
 
235
241
  # Families whose EA driver quantizes per-glyph advances
236
242
  # (fitted from published textLengths).
237
- GDI_HEIGHT_FAMILIES = %w[Carlito Arial].freeze
243
+ GDI_HEIGHT_FAMILIES = ["Carlito", "Arial", "Source Sans Pro"].freeze
238
244
 
239
245
  def supported_family?(family)
240
246
  !resolve_family(family).nil?
@@ -276,7 +282,10 @@ module Ea
276
282
 
277
283
  def table_for(family, weight, style)
278
284
  style = STYLE_KEYS.fetch([bold?(weight), italic?(style)], :regular).to_s
279
- data["advance"].fetch(resolve_family(family), {}).fetch(style, {})
285
+ resolved = resolve_family(family)
286
+ return SOURCE_SANS_PRO_ADVANCES.fetch(style) if resolved == "Source Sans Pro"
287
+
288
+ data["advance"].fetch(resolved, {}).fetch(style, {})
280
289
  end
281
290
 
282
291
  def data
@@ -0,0 +1 @@
1
+ {"units":"em advance (hmtx / unitsPerEm)","advance":{"regular":{"U+0020":0.2,"U+0021":0.29,"U+0022":0.427,"U+0023":0.497,"U+0024":0.497,"U+0025":0.825,"U+0026":0.61,"U+0027":0.25,"U+0028":0.304,"U+0029":0.304,"U+002A":0.418,"U+002B":0.497,"U+002C":0.25,"U+002D":0.311,"U+002E":0.25,"U+002F":0.35,"U+0030":0.497,"U+0031":0.497,"U+0032":0.497,"U+0033":0.497,"U+0034":0.497,"U+0035":0.497,"U+0036":0.497,"U+0037":0.497,"U+0038":0.497,"U+0039":0.497,"U+003A":0.25,"U+003B":0.25,"U+003C":0.497,"U+003D":0.497,"U+003E":0.497,"U+003F":0.425,"U+0040":0.846,"U+0041":0.544,"U+0042":0.588,"U+0043":0.571,"U+0044":0.616,"U+0045":0.527,"U+0046":0.495,"U+0047":0.617,"U+0048":0.652,"U+0049":0.263,"U+004A":0.48,"U+004B":0.579,"U+004C":0.486,"U+004D":0.727,"U+004E":0.646,"U+004F":0.664,"U+0050":0.567,"U+0051":0.664,"U+0052":0.57,"U+0053":0.534,"U+0054":0.536,"U+0055":0.646,"U+0056":0.516,"U+0057":0.786,"U+0058":0.514,"U+0059":0.476,"U+005A":0.539,"U+005B":0.304,"U+005C":0.35,"U+005D":0.304,"U+005E":0.497,"U+005F":0.5,"U+0060":0.542,"U+0061":0.504,"U+0062":0.554,"U+0063":0.456,"U+0064":0.555,"U+0065":0.496,"U+0066":0.292,"U+0067":0.505,"U+0068":0.544,"U+0069":0.247,"U+006A":0.247,"U+006B":0.495,"U+006C":0.255,"U+006D":0.829,"U+006E":0.547,"U+006F":0.542,"U+0070":0.555,"U+0071":0.555,"U+0072":0.348,"U+0073":0.419,"U+0074":0.339,"U+0075":0.544,"U+0076":0.468,"U+0077":0.718,"U+0078":0.447,"U+0079":0.468,"U+007A":0.425,"U+007B":0.304,"U+007C":0.242,"U+007D":0.304,"U+007E":0.497,"U+00A0":0.2,"U+00A1":0.29,"U+00A2":0.497,"U+00A3":0.497,"U+00A4":0.497,"U+00A5":0.497,"U+00A6":0.242,"U+00A7":0.497,"U+00A8":0.542,"U+00A9":0.744,"U+00AA":0.345,"U+00AB":0.43,"U+00AC":0.497,"U+00AD":0.311,"U+00AE":0.424,"U+00AF":0.542,"U+00B0":0.332,"U+00B1":0.497,"U+00B2":0.367,"U+00B3":0.367,"U+00B4":0.542,"U+00B5":0.562,"U+00B6":0.561,"U+00B7":0.25,"U+00B8":0.542,"U+00B9":0.367,"U+00BA":0.365,"U+00BB":0.43,"U+00BC":0.781,"U+00BD":0.809,"U+00BE":0.796,"U+00BF":0.425,"U+00C0":0.544,"U+00C1":0.544,"U+00C2":0.544,"U+00C3":0.544,"U+00C4":0.544,"U+00C5":0.544,"U+00C6":0.823,"U+00C7":0.571,"U+00C8":0.527,"U+00C9":0.527,"U+00CA":0.527,"U+00CB":0.527,"U+00CC":0.263,"U+00CD":0.263,"U+00CE":0.263,"U+00CF":0.263,"U+00D0":0.637,"U+00D1":0.647,"U+00D2":0.664,"U+00D3":0.664,"U+00D4":0.664,"U+00D5":0.664,"U+00D6":0.664,"U+00D7":0.497,"U+00D8":0.664,"U+00D9":0.646,"U+00DA":0.646,"U+00DB":0.646,"U+00DC":0.646,"U+00DD":0.476,"U+00DE":0.584,"U+00DF":0.576,"U+00E0":0.505,"U+00E1":0.505,"U+00E2":0.505,"U+00E3":0.505,"U+00E4":0.505,"U+00E5":0.505,"U+00E6":0.778,"U+00E7":0.456,"U+00E8":0.496,"U+00E9":0.496,"U+00EA":0.496,"U+00EB":0.496,"U+00EC":0.247,"U+00ED":0.247,"U+00EE":0.247,"U+00EF":0.247,"U+00F0":0.545,"U+00F1":0.547,"U+00F2":0.542,"U+00F3":0.542,"U+00F4":0.542,"U+00F5":0.542,"U+00F6":0.542,"U+00F7":0.497,"U+00F8":0.543,"U+00F9":0.544,"U+00FA":0.544,"U+00FB":0.544,"U+00FC":0.544,"U+00FD":0.468,"U+00FE":0.555,"U+00FF":0.468,"U+0100":0.544,"U+0101":0.505,"U+0102":0.544,"U+0103":0.505,"U+0104":0.544,"U+0105":0.504,"U+0106":0.571,"U+0107":0.456,"U+0108":0.571,"U+0109":0.456,"U+010A":0.571,"U+010B":0.456,"U+010C":0.571,"U+010D":0.456,"U+010E":0.616,"U+010F":0.574,"U+0110":0.638,"U+0111":0.554,"U+0112":0.527,"U+0113":0.496,"U+0114":0.527,"U+0115":0.496,"U+0116":0.527,"U+0117":0.496,"U+0118":0.527,"U+0119":0.496,"U+011A":0.527,"U+011B":0.496,"U+011C":0.617,"U+011D":0.505,"U+011E":0.617,"U+011F":0.505,"U+0120":0.617,"U+0121":0.505,"U+0122":0.617,"U+0123":0.505,"U+0124":0.652,"U+0125":0.544,"U+0126":0.686,"U+0127":0.544,"U+0128":0.263,"U+0129":0.247,"U+012A":0.263,"U+012B":0.247,"U+012C":0.263,"U+012D":0.247,"U+012E":0.263,"U+012F":0.247,"U+0130":0.263,"U+0131":0.247,"U+0132":0.527,"U+0133":0.494,"U+0134":0.48,"U+0135":0.247,"U+0136":0.579,"U+0137":0.495,"U+0138":0.495,"U+0139":0.486,"U+013A":0.255,"U+013B":0.486,"U+013C":0.255,"U+013D":0.486,"U+013E":0.265,"U+013F":0.486,"U+0140":0.363,"U+0141":0.501,"U+0142":0.299,"U+0143":0.647,"U+0144":0.547,"U+0145":0.647,"U+0146":0.547,"U+0147":0.647,"U+0148":0.547,"U+0149":0.77,"U+014A":0.635,"U+014B":0.547,"U+014C":0.664,"U+014D":0.542,"U+014E":0.664,"U+014F":0.542,"U+0150":0.664,"U+0151":0.542,"U+0152":0.847,"U+0153":0.839,"U+0154":0.57,"U+0155":0.348,"U+0156":0.57,"U+0157":0.348,"U+0158":0.57,"U+0159":0.348,"U+015A":0.534,"U+015B":0.419,"U+015C":0.534,"U+015D":0.419,"U+015E":0.534,"U+015F":0.419,"U+0160":0.534,"U+0161":0.419,"U+0162":0.536,"U+0163":0.339,"U+0164":0.536,"U+0165":0.339,"U+0166":0.536,"U+0167":0.338,"U+0168":0.646,"U+0169":0.544,"U+016A":0.646,"U+016B":0.544,"U+016C":0.646,"U+016D":0.544,"U+016E":0.646,"U+016F":0.544,"U+0170":0.646,"U+0171":0.544,"U+0172":0.646,"U+0173":0.544,"U+0174":0.786,"U+0175":0.719,"U+0176":0.476,"U+0177":0.468,"U+0178":0.476,"U+0179":0.539,"U+017A":0.425,"U+017B":0.539,"U+017C":0.425,"U+017D":0.539,"U+017E":0.425,"U+017F":0.271,"U+0180":0.544,"U+018A":0.78,"U+018E":0.527,"U+018F":0.658,"U+0192":0.292,"U+0193":0.617,"U+0197":0.298,"U+01A0":0.664,"U+01A1":0.542,"U+01AF":0.659,"U+01B0":0.544,"U+01C2":0.384,"U+01C3":0.248,"U+01CD":0.544,"U+01CE":0.505,"U+01CF":0.263,"U+01D0":0.247,"U+01D1":0.664,"U+01D2":0.542,"U+01D3":0.646,"U+01D4":0.544,"U+01D5":0.646,"U+01D6":0.544,"U+01D7":0.646,"U+01D8":0.544,"U+01D9":0.646,"U+01DA":0.544,"U+01DB":0.646,"U+01DC":0.544,"U+01DD":0.496,"U+01E2":0.823,"U+01E3":0.778,"U+01E6":0.617,"U+01E7":0.505,"U+01EA":0.664,"U+01EB":0.542,"U+01F4":0.617,"U+01F5":0.505,"U+01F8":0.647,"U+01F9":0.547,"U+01FA":0.544,"U+01FB":0.505,"U+01FC":0.823,"U+01FD":0.778,"U+01FE":0.664,"U+01FF":0.542,"U+0218":0.534,"U+0219":0.419,"U+021A":0.536,"U+021B":0.339,"U+0237":0.247,"U+0241":0.482,"U+0242":0.428,"U+0243":0.602,"U+0250":0.511,"U+0251":0.56,"U+0252":0.564,"U+0253":0.555,"U+0254":0.456,"U+0255":0.459,"U+0256":0.555,"U+0257":0.555,"U+0258":0.495,"U+0259":0.495,"U+025A":0.667,"U+025B":0.432,"U+025C":0.444,"U+025E":0.546,"U+025F":0.284,"U+0260":0.555,"U+0261":0.555,"U+0262":0.498,"U+0263":0.468,"U+0264":0.512,"U+0265":0.547,"U+0266":0.544,"U+0267":0.544,"U+0268":0.286,"U+0269":0.255,"U+026A":0.342,"U+026B":0.353,"U+026C":0.334,"U+026D":0.255,"U+026E":0.57,"U+026F":0.829,"U+0270":0.829,"U+0271":0.829,"U+0272":0.547,"U+0273":0.547,"U+0274":0.542,"U+0275":0.542,"U+0276":0.699,"U+0277":0.705,"U+0278":0.681,"U+0279":0.348,"U+027A":0.348,"U+027B":0.348,"U+027D":0.348,"U+027E":0.333,"U+0280":0.495,"U+0281":0.495,"U+0282":0.419,"U+0283":0.247,"U+0284":0.284,"U+0287":0.339,"U+0288":0.339,"U+0289":0.588,"U+028A":0.546,"U+028B":0.53,"U+028C":0.468,"U+028D":0.719,"U+028E":0.468,"U+028F":0.416,"U+0290":0.425,"U+0291":0.456,"U+0292":0.425,"U+0294":0.417,"U+0295":0.417,"U+0298":0.525,"U+0299":0.508,"U+029C":0.562,"U+029D":0.342,"U+029E":0.496,"U+029F":0.411,"U+02A1":0.427,"U+02A2":0.427,"U+02A4":0.846,"U+02A6":0.651,"U+02A7":0.553,"U+02B0":0.367,"U+02B1":0.367,"U+02B2":0.169,"U+02B3":0.24,"U+02B7":0.488,"U+02B8":0.32,"U+02B9":0.25,"U+02BB":0.25,"U+02BC":0.25,"U+02BE":0.174,"U+02BF":0.174,"U+02C0":0.303,"U+02C1":0.303,"U+02C6":0.542,"U+02C7":0.542,"U+02C8":0.115,"U+02C9":0.277,"U+02CA":0.225,"U+02CB":0.225,"U+02CC":0.115,"U+02D0":0.2,"U+02D1":0.2,"U+02D8":0.542,"U+02D9":0.542,"U+02DA":0.542,"U+02DB":0.542,"U+02DC":0.542,"U+02DD":0.542,"U+02DE":0.172,"U+02E0":0.318,"U+02E1":0.174,"U+02E2":0.283,"U+02E3":0.308,"U+02E4":0.303,"U+0300":0.0,"U+0301":0.0,"U+0302":0.0,"U+0303":0.0,"U+0304":0.0,"U+0305":0.0,"U+0306":0.0,"U+0307":0.0,"U+0308":0.0,"U+0309":0.0,"U+030A":0.0,"U+030B":0.0,"U+030C":0.0,"U+030D":0.0,"U+030F":0.0,"U+0310":0.0,"U+0311":0.0,"U+0312":0.0,"U+0313":0.0,"U+0318":0.0,"U+0319":0.0,"U+031A":0.0,"U+031B":0.0,"U+031C":0.0,"U+031D":0.0,"U+031E":0.0,"U+031F":0.0,"U+0320":0.0,"U+0323":0.0,"U+0324":0.0,"U+0325":0.0,"U+0326":0.0,"U+0327":0.0,"U+0328":0.0,"U+0329":0.0,"U+032A":0.0,"U+032C":0.0,"U+032E":0.0,"U+032F":0.0,"U+0330":0.0,"U+0331":0.0,"U+0332":0.0,"U+0334":0.0,"U+0339":0.0,"U+033A":0.0,"U+033B":0.0,"U+033C":0.0,"U+033D":0.0,"U+0342":0.0,"U+0343":0.0,"U+0344":0.0,"U+0345":0.0,"U+034F":0.0,"U+0358":0.0,"U+035F":0.0,"U+0361":0.0,"U+0374":0.25,"U+0375":0.25,"U+037A":0.542,"U+037E":0.25,"U+0384":0.542,"U+0385":0.542,"U+0386":0.574,"U+0387":0.25,"U+0388":0.592,"U+0389":0.717,"U+038A":0.328,"U+038C":0.716,"U+038E":0.601,"U+038F":0.724,"U+0390":0.262,"U+0391":0.544,"U+0392":0.588,"U+0393":0.499,"U+0394":0.589,"U+0395":0.527,"U+0396":0.539,"U+0397":0.652,"U+0398":0.664,"U+0399":0.263,"U+039A":0.579,"U+039B":0.516,"U+039C":0.727,"U+039D":0.647,"U+039E":0.533,"U+039F":0.664,"U+03A0":0.645,"U+03A1":0.567,"U+03A3":0.538,"U+03A4":0.536,"U+03A5":0.476,"U+03A6":0.72,"U+03A7":0.514,"U+03A8":0.699,"U+03A9":0.679,"U+03AA":0.263,"U+03AB":0.476,"U+03AC":0.56,"U+03AD":0.449,"U+03AE":0.541,"U+03AF":0.262,"U+03B0":0.51,"U+03B1":0.56,"U+03B2":0.565,"U+03B3":0.484,"U+03B4":0.531,"U+03B5":0.448,"U+03B6":0.424,"U+03B7":0.541,"U+03B8":0.522,"U+03B9":0.262,"U+03BA":0.495,"U+03BB":0.495,"U+03BC":0.562,"U+03BD":0.474,"U+03BE":0.431,"U+03BF":0.535,"U+03C0":0.586,"U+03C1":0.55,"U+03C2":0.432,"U+03C3":0.546,"U+03C4":0.46,"U+03C5":0.51,"U+03C6":0.681,"U+03C7":0.481,"U+03C8":0.69,"U+03C9":0.701,"U+03CA":0.262,"U+03CB":0.51,"U+03CC":0.535,"U+03CD":0.51,"U+03CE":0.701,"U+03D0":0.556,"U+03D1":0.522,"U+03D5":0.681,"U+03D7":0.495,"U+03D9":0.535,"U+03DB":0.466,"U+03DD":0.414,"U+03E1":0.499,"U+0400":0.527,"U+0401":0.527,"U+0402":0.687,"U+0403":0.499,"U+0404":0.571,"U+0405":0.534,"U+0406":0.263,"U+0407":0.263,"U+0408":0.48,"U+0409":0.897,"U+040A":0.929,"U+040B":0.696,"U+040C":0.579,"U+040D":0.656,"U+040E":0.515,"U+040F":0.645,"U+0410":0.544,"U+0411":0.58,"U+0412":0.588,"U+0413":0.499,"U+0414":0.638,"U+0415":0.527,"U+0416":0.831,"U+0417":0.554,"U+0418":0.656,"U+0419":0.656,"U+041A":0.579,"U+041B":0.63,"U+041C":0.727,"U+041D":0.652,"U+041E":0.664,"U+041F":0.645,"U+0420":0.567,"U+0421":0.571,"U+0422":0.536,"U+0423":0.515,"U+0424":0.732,"U+0425":0.514,"U+0426":0.642,"U+0427":0.598,"U+0428":0.878,"U+0429":0.881,"U+042A":0.72,"U+042B":0.799,"U+042C":0.58,"U+042D":0.571,"U+042E":0.908,"U+042F":0.582,"U+0430":0.505,"U+0431":0.544,"U+0432":0.508,"U+0433":0.411,"U+0434":0.533,"U+0435":0.496,"U+0436":0.689,"U+0437":0.456,"U+0438":0.564,"U+0439":0.565,"U+043A":0.495,"U+043B":0.531,"U+043C":0.633,"U+043D":0.562,"U+043E":0.542,"U+043F":0.553,"U+0440":0.555,"U+0441":0.456,"U+0442":0.46,"U+0443":0.468,"U+0444":0.735,"U+0445":0.447,"U+0446":0.555,"U+0447":0.513,"U+0448":0.75,"U+0449":0.758,"U+044A":0.596,"U+044B":0.675,"U+044C":0.491,"U+044D":0.456,"U+044E":0.739,"U+044F":0.514,"U+0450":0.496,"U+0451":0.496,"U+0452":0.547,"U+0453":0.411,"U+0454":0.456,"U+0455":0.419,"U+0456":0.247,"U+0457":0.247,"U+0458":0.247,"U+0459":0.735,"U+045A":0.759,"U+045B":0.544,"U+045C":0.495,"U+045D":0.565,"U+045E":0.468,"U+045F":0.558,"U+0462":0.614,"U+0463":0.576,"U+0472":0.664,"U+0473":0.542,"U+0474":0.529,"U+0475":0.478,"U+0490":0.499,"U+0491":0.416,"U+0492":0.52,"U+0493":0.43,"U+0496":0.874,"U+0497":0.728,"U+0498":0.554,"U+0499":0.456,"U+049A":0.628,"U+049B":0.537,"U+04A0":0.716,"U+04A1":0.611,"U+04A2":0.661,"U+04A3":0.571,"U+04AA":0.571,"U+04AB":0.456,"U+04AE":0.476,"U+04AF":0.468,"U+04B0":0.475,"U+04B1":0.466,"U+04B2":0.552,"U+04B3":0.483,"U+04B6":0.607,"U+04B7":0.521,"U+04BA":0.598,"U+04BB":0.544,"U+04C0":0.263,"U+04C1":0.831,"U+04C2":0.689,"U+04CF":0.255,"U+04D0":0.544,"U+04D1":0.505,"U+04D4":0.823,"U+04D5":0.778,"U+04D6":0.527,"U+04D7":0.496,"U+04D8":0.658,"U+04D9":0.496,"U+04E2":0.656,"U+04E3":0.565,"U+04E6":0.664,"U+04E7":0.542,"U+04E8":0.664,"U+04E9":0.542,"U+04EE":0.515,"U+04EF":0.468,"U+04F2":0.515,"U+04F3":0.468,"U+1D25":0.512,"U+1D43":0.345,"U+1D47":0.374,"U+1D48":0.374,"U+1D49":0.336,"U+1D4A":0.336,"U+1D4D":0.343,"U+1D4F":0.338,"U+1D50":0.559,"U+1D52":0.365,"U+1D56":0.374,"U+1D57":0.232,"U+1D58":0.37,"U+1D5B":0.322,"U+1D9C":0.306,"U+1DA0":0.201,"U+1DBB":0.29,"U+1E02":0.588,"U+1E03":0.554,"U+1E06":0.588,"U+1E07":0.554,"U+1E0A":0.616,"U+1E0B":0.555,"U+1E0C":0.616,"U+1E0D":0.555,"U+1E0E":0.616,"U+1E0F":0.555,"U+1E10":0.616,"U+1E11":0.555,"U+1E16":0.527,"U+1E17":0.496,"U+1E1E":0.495,"U+1E1F":0.292,"U+1E20":0.617,"U+1E21":0.505,"U+1E24":0.652,"U+1E25":0.544,"U+1E26":0.652,"U+1E27":0.544,"U+1E28":0.652,"U+1E29":0.544,"U+1E2A":0.652,"U+1E2B":0.544,"U+1E32":0.579,"U+1E33":0.495,"U+1E34":0.579,"U+1E35":0.495,"U+1E36":0.486,"U+1E37":0.255,"U+1E38":0.486,"U+1E39":0.255,"U+1E3A":0.486,"U+1E3B":0.255,"U+1E3E":0.727,"U+1E3F":0.829,"U+1E40":0.727,"U+1E41":0.829,"U+1E42":0.727,"U+1E43":0.829,"U+1E44":0.647,"U+1E45":0.547,"U+1E46":0.647,"U+1E47":0.547,"U+1E48":0.647,"U+1E49":0.547,"U+1E52":0.664,"U+1E53":0.542,"U+1E56":0.567,"U+1E57":0.555,"U+1E58":0.57,"U+1E59":0.348,"U+1E5A":0.57,"U+1E5B":0.348,"U+1E5C":0.57,"U+1E5D":0.348,"U+1E5E":0.57,"U+1E5F":0.348,"U+1E60":0.534,"U+1E61":0.419,"U+1E62":0.534,"U+1E63":0.419,"U+1E66":0.534,"U+1E67":0.419,"U+1E6A":0.536,"U+1E6B":0.339,"U+1E6C":0.536,"U+1E6D":0.339,"U+1E6E":0.536,"U+1E6F":0.339,"U+1E7E":0.516,"U+1E7F":0.468,"U+1E80":0.786,"U+1E81":0.719,"U+1E82":0.786,"U+1E83":0.719,"U+1E84":0.786,"U+1E85":0.719,"U+1E8E":0.476,"U+1E8F":0.468,"U+1E90":0.539,"U+1E91":0.425,"U+1E92":0.539,"U+1E93":0.425,"U+1E94":0.539,"U+1E95":0.425,"U+1E96":0.544,"U+1E97":0.339,"U+1E9E":0.667,"U+1EA0":0.544,"U+1EA1":0.505,"U+1EA2":0.544,"U+1EA3":0.505,"U+1EA4":0.544,"U+1EA5":0.505,"U+1EA6":0.544,"U+1EA7":0.505,"U+1EA8":0.544,"U+1EA9":0.505,"U+1EAA":0.544,"U+1EAB":0.505,"U+1EAC":0.544,"U+1EAD":0.505,"U+1EAE":0.544,"U+1EAF":0.505,"U+1EB0":0.544,"U+1EB1":0.505,"U+1EB2":0.544,"U+1EB3":0.505,"U+1EB4":0.544,"U+1EB5":0.505,"U+1EB6":0.544,"U+1EB7":0.505,"U+1EB8":0.527,"U+1EB9":0.496,"U+1EBA":0.527,"U+1EBB":0.496,"U+1EBC":0.527,"U+1EBD":0.496,"U+1EBE":0.527,"U+1EBF":0.496,"U+1EC0":0.527,"U+1EC1":0.496,"U+1EC2":0.527,"U+1EC3":0.496,"U+1EC4":0.527,"U+1EC5":0.496,"U+1EC6":0.527,"U+1EC7":0.496,"U+1EC8":0.263,"U+1EC9":0.247,"U+1ECA":0.263,"U+1ECB":0.247,"U+1ECC":0.664,"U+1ECD":0.542,"U+1ECE":0.664,"U+1ECF":0.542,"U+1ED0":0.664,"U+1ED1":0.542,"U+1ED2":0.664,"U+1ED3":0.542,"U+1ED4":0.664,"U+1ED5":0.542,"U+1ED6":0.664,"U+1ED7":0.542,"U+1ED8":0.664,"U+1ED9":0.542,"U+1EDA":0.664,"U+1EDB":0.542,"U+1EDC":0.664,"U+1EDD":0.542,"U+1EDE":0.664,"U+1EDF":0.542,"U+1EE0":0.664,"U+1EE1":0.542,"U+1EE2":0.664,"U+1EE3":0.542,"U+1EE4":0.646,"U+1EE5":0.544,"U+1EE6":0.646,"U+1EE7":0.544,"U+1EE8":0.659,"U+1EE9":0.544,"U+1EEA":0.659,"U+1EEB":0.544,"U+1EEC":0.659,"U+1EED":0.544,"U+1EEE":0.659,"U+1EEF":0.544,"U+1EF0":0.659,"U+1EF1":0.544,"U+1EF2":0.476,"U+1EF3":0.468,"U+1EF4":0.476,"U+1EF5":0.468,"U+1EF6":0.476,"U+1EF7":0.468,"U+1EF8":0.476,"U+1EF9":0.468,"U+1F00":0.56,"U+1F01":0.56,"U+1F02":0.56,"U+1F03":0.56,"U+1F04":0.56,"U+1F05":0.56,"U+1F06":0.56,"U+1F07":0.56,"U+1F08":0.581,"U+1F09":0.574,"U+1F0A":0.715,"U+1F0B":0.711,"U+1F0C":0.715,"U+1F0D":0.711,"U+1F0E":0.621,"U+1F0F":0.621,"U+1F10":0.449,"U+1F11":0.449,"U+1F12":0.449,"U+1F13":0.449,"U+1F14":0.449,"U+1F15":0.449,"U+1F18":0.646,"U+1F19":0.646,"U+1F1A":0.762,"U+1F1B":0.758,"U+1F1C":0.762,"U+1F1D":0.758,"U+1F20":0.541,"U+1F21":0.541,"U+1F22":0.541,"U+1F23":0.541,"U+1F24":0.541,"U+1F25":0.541,"U+1F26":0.541,"U+1F27":0.541,"U+1F28":0.771,"U+1F29":0.771,"U+1F2A":0.887,"U+1F2B":0.883,"U+1F2C":0.887,"U+1F2D":0.883,"U+1F2E":0.842,"U+1F2F":0.842,"U+1F30":0.262,"U+1F31":0.262,"U+1F32":0.262,"U+1F33":0.262,"U+1F34":0.262,"U+1F35":0.262,"U+1F36":0.262,"U+1F37":0.262,"U+1F38":0.382,"U+1F39":0.382,"U+1F3A":0.498,"U+1F3B":0.495,"U+1F3C":0.498,"U+1F3D":0.495,"U+1F3E":0.453,"U+1F3F":0.453,"U+1F40":0.535,"U+1F41":0.535,"U+1F42":0.535,"U+1F43":0.535,"U+1F44":0.535,"U+1F45":0.535,"U+1F48":0.762,"U+1F49":0.748,"U+1F4A":0.893,"U+1F4B":0.889,"U+1F4C":0.889,"U+1F4D":0.886,"U+1F50":0.51,"U+1F51":0.51,"U+1F52":0.51,"U+1F53":0.51,"U+1F54":0.51,"U+1F55":0.51,"U+1F56":0.51,"U+1F57":0.51,"U+1F59":0.654,"U+1F5B":0.768,"U+1F5D":0.771,"U+1F5F":0.726,"U+1F60":0.701,"U+1F61":0.701,"U+1F62":0.701,"U+1F63":0.701,"U+1F64":0.701,"U+1F65":0.701,"U+1F66":0.701,"U+1F67":0.701,"U+1F68":0.774,"U+1F69":0.76,"U+1F6A":0.905,"U+1F6B":0.901,"U+1F6C":0.898,"U+1F6D":0.894,"U+1F6E":0.826,"U+1F6F":0.826,"U+1F70":0.56,"U+1F71":0.56,"U+1F72":0.449,"U+1F73":0.449,"U+1F74":0.541,"U+1F75":0.541,"U+1F76":0.262,"U+1F77":0.262,"U+1F78":0.535,"U+1F79":0.535,"U+1F7A":0.51,"U+1F7B":0.51,"U+1F7C":0.701,"U+1F7D":0.701,"U+1F80":0.56,"U+1F81":0.56,"U+1F82":0.56,"U+1F83":0.56,"U+1F84":0.56,"U+1F85":0.56,"U+1F86":0.56,"U+1F87":0.56,"U+1F88":0.844,"U+1F89":0.836,"U+1F8A":0.977,"U+1F8B":0.974,"U+1F8C":0.977,"U+1F8D":0.974,"U+1F8E":0.884,"U+1F8F":0.884,"U+1F90":0.541,"U+1F91":0.541,"U+1F92":0.541,"U+1F93":0.541,"U+1F94":0.541,"U+1F95":0.541,"U+1F96":0.541,"U+1F97":0.541,"U+1F98":1.033,"U+1F99":1.033,"U+1F9A":1.149,"U+1F9B":1.145,"U+1F9C":1.149,"U+1F9D":1.145,"U+1F9E":1.104,"U+1F9F":1.104,"U+1FA0":0.701,"U+1FA1":0.701,"U+1FA2":0.701,"U+1FA3":0.701,"U+1FA4":0.701,"U+1FA5":0.701,"U+1FA6":0.701,"U+1FA7":0.701,"U+1FA8":1.036,"U+1FA9":1.022,"U+1FAA":1.167,"U+1FAB":1.164,"U+1FAC":1.16,"U+1FAD":1.156,"U+1FAE":1.091,"U+1FAF":1.091,"U+1FB0":0.56,"U+1FB1":0.56,"U+1FB2":0.56,"U+1FB3":0.56,"U+1FB4":0.56,"U+1FB6":0.56,"U+1FB7":0.56,"U+1FB8":0.544,"U+1FB9":0.544,"U+1FBA":0.574,"U+1FBB":0.574,"U+1FBC":0.806,"U+1FBD":0.542,"U+1FBE":0.262,"U+1FBF":0.542,"U+1FC0":0.542,"U+1FC1":0.542,"U+1FC2":0.541,"U+1FC3":0.541,"U+1FC4":0.541,"U+1FC6":0.541,"U+1FC7":0.541,"U+1FC8":0.592,"U+1FC9":0.592,"U+1FCA":0.717,"U+1FCB":0.717,"U+1FCC":0.914,"U+1FCD":0.542,"U+1FCE":0.542,"U+1FCF":0.542,"U+1FD0":0.262,"U+1FD1":0.262,"U+1FD2":0.262,"U+1FD3":0.262,"U+1FD6":0.262,"U+1FD7":0.262,"U+1FD8":0.263,"U+1FD9":0.263,"U+1FDA":0.328,"U+1FDB":0.328,"U+1FDD":0.542,"U+1FDE":0.542,"U+1FDF":0.542,"U+1FE0":0.51,"U+1FE1":0.51,"U+1FE2":0.51,"U+1FE3":0.51,"U+1FE4":0.55,"U+1FE5":0.55,"U+1FE6":0.51,"U+1FE7":0.51,"U+1FE8":0.476,"U+1FE9":0.476,"U+1FEA":0.601,"U+1FEB":0.601,"U+1FEC":0.685,"U+1FED":0.542,"U+1FEE":0.542,"U+1FEF":0.542,"U+1FF2":0.701,"U+1FF3":0.701,"U+1FF4":0.701,"U+1FF6":0.701,"U+1FF7":0.701,"U+1FF8":0.723,"U+1FF9":0.716,"U+1FFA":0.731,"U+1FFB":0.724,"U+1FFC":0.939,"U+1FFD":0.542,"U+1FFE":0.542,"U+2007":0.497,"U+2009":0.1,"U+200A":0.02,"U+200B":0.0,"U+2010":0.311,"U+2011":0.311,"U+2012":0.497,"U+2013":0.48,"U+2014":0.8,"U+2015":0.8,"U+2016":0.392,"U+2017":0.5,"U+2018":0.25,"U+2019":0.25,"U+201A":0.25,"U+201B":0.25,"U+201C":0.427,"U+201D":0.427,"U+201E":0.427,"U+2020":0.454,"U+2021":0.454,"U+2022":0.305,"U+2026":0.949,"U+202F":0.12,"U+2030":1.195,"U+2032":0.25,"U+2033":0.427,"U+2035":0.25,"U+2039":0.271,"U+203A":0.271,"U+203C":0.55,"U+203D":0.433,"U+203E":0.5,"U+203F":0.563,"U+2044":0.086,"U+2047":0.816,"U+2048":0.68,"U+2049":0.68,"U+2070":0.367,"U+2071":0.166,"U+2074":0.367,"U+2075":0.367,"U+2076":0.367,"U+2077":0.367,"U+2078":0.367,"U+2079":0.367,"U+207A":0.367,"U+207B":0.367,"U+207C":0.367,"U+207D":0.237,"U+207E":0.237,"U+207F":0.369,"U+2080":0.367,"U+2081":0.367,"U+2082":0.367,"U+2083":0.367,"U+2084":0.367,"U+2085":0.367,"U+2086":0.367,"U+2087":0.367,"U+2088":0.367,"U+2089":0.367,"U+208A":0.367,"U+208B":0.367,"U+208C":0.367,"U+208D":0.237,"U+208E":0.237,"U+20A1":0.497,"U+20A3":0.497,"U+20A4":0.497,"U+20A6":0.497,"U+20A7":0.497,"U+20A9":0.497,"U+20AB":0.497,"U+20AC":0.497,"U+20AE":0.497,"U+20B1":0.497,"U+20B2":0.497,"U+20B4":0.497,"U+20B5":0.497,"U+20B8":0.497,"U+20B9":0.497,"U+20BA":0.497,"U+20BD":0.497,"U+2105":0.809,"U+2113":0.41,"U+2116":0.892,"U+2117":0.743,"U+2120":0.637,"U+2122":0.637},"italic":{"U+0020":0.2,"U+0021":0.282,"U+0022":0.409,"U+0023":0.479,"U+0024":0.48,"U+0025":0.791,"U+0026":0.583,"U+0027":0.242,"U+0028":0.291,"U+0029":0.293,"U+002A":0.403,"U+002B":0.48,"U+002C":0.242,"U+002D":0.299,"U+002E":0.242,"U+002F":0.34,"U+0030":0.48,"U+0031":0.48,"U+0032":0.48,"U+0033":0.48,"U+0034":0.48,"U+0035":0.48,"U+0036":0.48,"U+0037":0.48,"U+0038":0.48,"U+0039":0.48,"U+003A":0.242,"U+003B":0.242,"U+003C":0.48,"U+003D":0.48,"U+003E":0.48,"U+003F":0.409,"U+0040":0.815,"U+0041":0.511,"U+0042":0.569,"U+0043":0.55,"U+0044":0.594,"U+0045":0.503,"U+0046":0.473,"U+0047":0.589,"U+0048":0.623,"U+0049":0.249,"U+004A":0.456,"U+004B":0.556,"U+004C":0.463,"U+004D":0.704,"U+004E":0.619,"U+004F":0.634,"U+0050":0.551,"U+0051":0.634,"U+0052":0.556,"U+0053":0.507,"U+0054":0.51,"U+0055":0.616,"U+0056":0.497,"U+0057":0.756,"U+0058":0.491,"U+0059":0.462,"U+005A":0.512,"U+005B":0.293,"U+005C":0.34,"U+005D":0.293,"U+005E":0.48,"U+005F":0.483,"U+0060":0.517,"U+0061":0.537,"U+0062":0.536,"U+0063":0.435,"U+0064":0.535,"U+0065":0.48,"U+0066":0.283,"U+0067":0.531,"U+0068":0.523,"U+0069":0.237,"U+006A":0.238,"U+006B":0.476,"U+006C":0.248,"U+006D":0.799,"U+006E":0.526,"U+006F":0.514,"U+0070":0.535,"U+0071":0.534,"U+0072":0.342,"U+0073":0.402,"U+0074":0.325,"U+0075":0.522,"U+0076":0.449,"U+0077":0.707,"U+0078":0.43,"U+0079":0.449,"U+007A":0.411,"U+007B":0.291,"U+007C":0.231,"U+007D":0.293,"U+007E":0.48,"U+00A0":0.2,"U+00A1":0.282,"U+00A2":0.48,"U+00A3":0.48,"U+00A4":0.48,"U+00A5":0.479,"U+00A6":0.231,"U+00A7":0.477,"U+00A8":0.517,"U+00A9":0.665,"U+00AA":0.355,"U+00AB":0.412,"U+00AC":0.48,"U+00AD":0.299,"U+00AE":0.407,"U+00AF":0.517,"U+00B0":0.313,"U+00B1":0.48,"U+00B2":0.353,"U+00B3":0.351,"U+00B4":0.517,"U+00B5":0.519,"U+00B6":0.536,"U+00B7":0.242,"U+00B8":0.517,"U+00B9":0.356,"U+00BA":0.348,"U+00BB":0.412,"U+00BC":0.748,"U+00BD":0.773,"U+00BE":0.764,"U+00BF":0.409,"U+00C0":0.511,"U+00C1":0.511,"U+00C2":0.511,"U+00C3":0.511,"U+00C4":0.511,"U+00C5":0.511,"U+00C6":0.803,"U+00C7":0.55,"U+00C8":0.503,"U+00C9":0.503,"U+00CA":0.503,"U+00CB":0.503,"U+00CC":0.249,"U+00CD":0.249,"U+00CE":0.249,"U+00CF":0.249,"U+00D0":0.609,"U+00D1":0.619,"U+00D2":0.634,"U+00D3":0.634,"U+00D4":0.634,"U+00D5":0.634,"U+00D6":0.634,"U+00D7":0.48,"U+00D8":0.633,"U+00D9":0.616,"U+00DA":0.616,"U+00DB":0.616,"U+00DC":0.616,"U+00DD":0.462,"U+00DE":0.563,"U+00DF":0.556,"U+00E0":0.537,"U+00E1":0.537,"U+00E2":0.537,"U+00E3":0.537,"U+00E4":0.537,"U+00E5":0.537,"U+00E6":0.761,"U+00E7":0.435,"U+00E8":0.481,"U+00E9":0.481,"U+00EA":0.481,"U+00EB":0.481,"U+00EC":0.237,"U+00ED":0.237,"U+00EE":0.237,"U+00EF":0.237,"U+00F0":0.531,"U+00F1":0.526,"U+00F2":0.514,"U+00F3":0.514,"U+00F4":0.514,"U+00F5":0.514,"U+00F6":0.514,"U+00F7":0.48,"U+00F8":0.514,"U+00F9":0.522,"U+00FA":0.522,"U+00FB":0.522,"U+00FC":0.522,"U+00FD":0.449,"U+00FE":0.535,"U+00FF":0.449,"U+0100":0.511,"U+0101":0.537,"U+0102":0.511,"U+0103":0.537,"U+0104":0.511,"U+0105":0.537,"U+0106":0.55,"U+0107":0.435,"U+0108":0.55,"U+0109":0.435,"U+010A":0.55,"U+010B":0.435,"U+010C":0.55,"U+010D":0.435,"U+010E":0.594,"U+010F":0.542,"U+0110":0.612,"U+0111":0.534,"U+0112":0.503,"U+0113":0.481,"U+0114":0.503,"U+0115":0.481,"U+0116":0.503,"U+0117":0.481,"U+0118":0.503,"U+0119":0.48,"U+011A":0.503,"U+011B":0.481,"U+011C":0.589,"U+011D":0.531,"U+011E":0.589,"U+011F":0.531,"U+0120":0.589,"U+0121":0.531,"U+0122":0.589,"U+0123":0.531,"U+0124":0.623,"U+0125":0.523,"U+0126":0.654,"U+0127":0.523,"U+0128":0.249,"U+0129":0.237,"U+012A":0.249,"U+012B":0.237,"U+012C":0.249,"U+012D":0.237,"U+012E":0.249,"U+012F":0.237,"U+0130":0.249,"U+0131":0.237,"U+0132":0.499,"U+0133":0.475,"U+0134":0.456,"U+0135":0.238,"U+0136":0.556,"U+0137":0.476,"U+0138":0.476,"U+0139":0.463,"U+013A":0.248,"U+013B":0.463,"U+013C":0.248,"U+013D":0.463,"U+013E":0.244,"U+013F":0.463,"U+0140":0.332,"U+0141":0.48,"U+0142":0.287,"U+0143":0.619,"U+0144":0.526,"U+0145":0.619,"U+0146":0.526,"U+0147":0.619,"U+0148":0.526,"U+0149":0.743,"U+014A":0.612,"U+014B":0.526,"U+014C":0.634,"U+014D":0.514,"U+014E":0.634,"U+014F":0.514,"U+0150":0.634,"U+0151":0.514,"U+0152":0.816,"U+0153":0.813,"U+0154":0.556,"U+0155":0.342,"U+0156":0.556,"U+0157":0.342,"U+0158":0.556,"U+0159":0.342,"U+015A":0.507,"U+015B":0.402,"U+015C":0.507,"U+015D":0.402,"U+015E":0.507,"U+015F":0.402,"U+0160":0.507,"U+0161":0.402,"U+0162":0.51,"U+0163":0.325,"U+0164":0.51,"U+0165":0.325,"U+0166":0.509,"U+0167":0.324,"U+0168":0.616,"U+0169":0.522,"U+016A":0.616,"U+016B":0.522,"U+016C":0.616,"U+016D":0.522,"U+016E":0.616,"U+016F":0.522,"U+0170":0.616,"U+0171":0.522,"U+0172":0.616,"U+0173":0.522,"U+0174":0.757,"U+0175":0.708,"U+0176":0.462,"U+0177":0.449,"U+0178":0.462,"U+0179":0.512,"U+017A":0.411,"U+017B":0.512,"U+017C":0.411,"U+017D":0.512,"U+017E":0.411,"U+017F":0.283,"U+0180":0.519,"U+018A":0.729,"U+018E":0.503,"U+018F":0.636,"U+0192":0.283,"U+0193":0.589,"U+0197":0.281,"U+01A0":0.634,"U+01A1":0.517,"U+01AF":0.63,"U+01B0":0.543,"U+01C2":0.353,"U+01C3":0.247,"U+01CD":0.511,"U+01CE":0.537,"U+01CF":0.249,"U+01D0":0.237,"U+01D1":0.634,"U+01D2":0.514,"U+01D3":0.616,"U+01D4":0.522,"U+01D5":0.616,"U+01D6":0.522,"U+01D7":0.616,"U+01D8":0.522,"U+01D9":0.616,"U+01DA":0.522,"U+01DB":0.616,"U+01DC":0.522,"U+01DD":0.481,"U+01E2":0.803,"U+01E3":0.761,"U+01E6":0.589,"U+01E7":0.531,"U+01EA":0.634,"U+01EB":0.514,"U+01F4":0.589,"U+01F5":0.531,"U+01F8":0.619,"U+01F9":0.526,"U+01FA":0.511,"U+01FB":0.537,"U+01FC":0.803,"U+01FD":0.761,"U+01FE":0.634,"U+01FF":0.514,"U+0218":0.507,"U+0219":0.402,"U+021A":0.51,"U+021B":0.325,"U+0237":0.238,"U+0241":0.487,"U+0242":0.42,"U+0243":0.591,"U+0250":0.489,"U+0251":0.54,"U+0252":0.54,"U+0253":0.536,"U+0254":0.439,"U+0255":0.449,"U+0256":0.538,"U+0257":0.538,"U+0258":0.48,"U+0259":0.48,"U+025A":0.643,"U+025B":0.417,"U+025C":0.417,"U+025E":0.496,"U+025F":0.265,"U+0260":0.537,"U+0261":0.531,"U+0262":0.491,"U+0263":0.449,"U+0264":0.503,"U+0265":0.53,"U+0266":0.52,"U+0267":0.52,"U+0268":0.271,"U+0269":0.248,"U+026A":0.331,"U+026B":0.352,"U+026C":0.321,"U+026D":0.242,"U+026E":0.571,"U+026F":0.798,"U+0270":0.798,"U+0271":0.799,"U+0272":0.526,"U+0273":0.526,"U+0274":0.524,"U+0275":0.514,"U+0276":0.678,"U+0277":0.684,"U+0278":0.649,"U+0279":0.342,"U+027A":0.342,"U+027B":0.342,"U+027D":0.342,"U+027E":0.336,"U+0280":0.47,"U+0281":0.47,"U+0282":0.402,"U+0283":0.238,"U+0284":0.265,"U+0287":0.325,"U+0288":0.325,"U+0289":0.538,"U+028A":0.515,"U+028B":0.525,"U+028C":0.449,"U+028D":0.708,"U+028E":0.449,"U+028F":0.409,"U+0290":0.418,"U+0291":0.439,"U+0292":0.418,"U+0294":0.411,"U+0295":0.411,"U+0298":0.48,"U+0299":0.48,"U+029C":0.534,"U+029D":0.28,"U+029E":0.476,"U+029F":0.4,"U+02A1":0.423,"U+02A2":0.423,"U+02A4":0.818,"U+02A6":0.627,"U+02A7":0.545,"U+02B0":0.353,"U+02B1":0.353,"U+02B2":0.164,"U+02B3":0.224,"U+02B7":0.478,"U+02B8":0.307,"U+02B9":0.242,"U+02BB":0.242,"U+02BC":0.242,"U+02BE":0.161,"U+02BF":0.161,"U+02C0":0.298,"U+02C1":0.298,"U+02C6":0.517,"U+02C7":0.517,"U+02C8":0.109,"U+02C9":0.263,"U+02CA":0.213,"U+02CB":0.213,"U+02CC":0.109,"U+02D0":0.189,"U+02D1":0.189,"U+02D8":0.517,"U+02D9":0.517,"U+02DA":0.517,"U+02DB":0.517,"U+02DC":0.517,"U+02DD":0.517,"U+02DE":0.185,"U+02E0":0.307,"U+02E1":0.165,"U+02E2":0.271,"U+02E3":0.307,"U+02E4":0.298,"U+0300":0.0,"U+0301":0.0,"U+0302":0.0,"U+0303":0.0,"U+0304":0.0,"U+0305":0.0,"U+0306":0.0,"U+0307":0.0,"U+0308":0.0,"U+0309":0.0,"U+030A":0.0,"U+030B":0.0,"U+030C":0.0,"U+030D":0.0,"U+030F":0.0,"U+0310":0.0,"U+0311":0.0,"U+0312":0.0,"U+0313":0.0,"U+0318":0.0,"U+0319":0.0,"U+031A":0.0,"U+031B":0.0,"U+031C":0.0,"U+031D":0.0,"U+031E":0.0,"U+031F":0.0,"U+0320":0.0,"U+0323":0.0,"U+0324":0.0,"U+0325":0.0,"U+0326":0.0,"U+0327":0.0,"U+0328":0.0,"U+0329":0.0,"U+032A":0.0,"U+032C":0.0,"U+032E":0.0,"U+032F":0.0,"U+0330":0.0,"U+0331":0.0,"U+0332":0.0,"U+0334":0.0,"U+0339":0.0,"U+033A":0.0,"U+033B":0.0,"U+033C":0.0,"U+033D":0.0,"U+0342":0.0,"U+0343":0.0,"U+0344":0.0,"U+0345":0.0,"U+034F":0.0,"U+0358":0.0,"U+035F":0.0,"U+0361":0.0,"U+0374":0.237,"U+0375":0.236,"U+037A":0.542,"U+037E":0.242,"U+0384":0.542,"U+0385":0.542,"U+0386":0.533,"U+0387":0.242,"U+0388":0.58,"U+0389":0.706,"U+038A":0.298,"U+038C":0.711,"U+038E":0.587,"U+038F":0.712,"U+0390":0.248,"U+0391":0.511,"U+0392":0.569,"U+0393":0.473,"U+0394":0.523,"U+0395":0.503,"U+0396":0.512,"U+0397":0.623,"U+0398":0.634,"U+0399":0.249,"U+039A":0.556,"U+039B":0.484,"U+039C":0.705,"U+039D":0.619,"U+039E":0.509,"U+039F":0.634,"U+03A0":0.62,"U+03A1":0.551,"U+03A3":0.515,"U+03A4":0.51,"U+03A5":0.462,"U+03A6":0.697,"U+03A7":0.491,"U+03A8":0.664,"U+03A9":0.657,"U+03AA":0.249,"U+03AB":0.462,"U+03AC":0.536,"U+03AD":0.405,"U+03AE":0.52,"U+03AF":0.248,"U+03B0":0.495,"U+03B1":0.536,"U+03B2":0.537,"U+03B3":0.461,"U+03B4":0.504,"U+03B5":0.404,"U+03B6":0.402,"U+03B7":0.52,"U+03B8":0.5,"U+03B9":0.248,"U+03BA":0.463,"U+03BB":0.429,"U+03BC":0.519,"U+03BD":0.451,"U+03BE":0.402,"U+03BF":0.509,"U+03C0":0.556,"U+03C1":0.531,"U+03C2":0.423,"U+03C3":0.532,"U+03C4":0.437,"U+03C5":0.495,"U+03C6":0.635,"U+03C7":0.439,"U+03C8":0.634,"U+03C9":0.669,"U+03CA":0.248,"U+03CB":0.495,"U+03CC":0.509,"U+03CD":0.495,"U+03CE":0.669,"U+03D0":0.528,"U+03D1":0.513,"U+03D5":0.635,"U+03D7":0.469,"U+03D9":0.51,"U+03DB":0.449,"U+03DD":0.396,"U+03E1":0.476,"U+0400":0.503,"U+0401":0.503,"U+0402":0.659,"U+0403":0.473,"U+0404":0.55,"U+0405":0.507,"U+0406":0.249,"U+0407":0.249,"U+0408":0.456,"U+0409":0.868,"U+040A":0.89,"U+040B":0.655,"U+040C":0.556,"U+040D":0.631,"U+040E":0.483,"U+040F":0.62,"U+0410":0.511,"U+0411":0.555,"U+0412":0.569,"U+0413":0.473,"U+0414":0.624,"U+0415":0.503,"U+0416":0.81,"U+0417":0.531,"U+0418":0.63,"U+0419":0.631,"U+041A":0.556,"U+041B":0.625,"U+041C":0.705,"U+041D":0.623,"U+041E":0.634,"U+041F":0.62,"U+0420":0.551,"U+0421":0.55,"U+0422":0.51,"U+0423":0.483,"U+0424":0.716,"U+0425":0.491,"U+0426":0.63,"U+0427":0.571,"U+0428":0.808,"U+0429":0.819,"U+042A":0.678,"U+042B":0.771,"U+042C":0.557,"U+042D":0.547,"U+042E":0.873,"U+042F":0.562,"U+0430":0.537,"U+0431":0.514,"U+0432":0.471,"U+0433":0.388,"U+0434":0.519,"U+0435":0.481,"U+0436":0.689,"U+0437":0.419,"U+0438":0.522,"U+0439":0.522,"U+043A":0.476,"U+043B":0.525,"U+043C":0.642,"U+043D":0.534,"U+043E":0.514,"U+043F":0.526,"U+0440":0.535,"U+0441":0.435,"U+0442":0.799,"U+0443":0.449,"U+0444":0.703,"U+0445":0.43,"U+0446":0.538,"U+0447":0.477,"U+0448":0.798,"U+0449":0.814,"U+044A":0.539,"U+044B":0.659,"U+044C":0.459,"U+044D":0.443,"U+044E":0.713,"U+044F":0.482,"U+0450":0.481,"U+0451":0.481,"U+0452":0.528,"U+0453":0.388,"U+0454":0.435,"U+0455":0.402,"U+0456":0.237,"U+0457":0.237,"U+0458":0.238,"U+0459":0.731,"U+045A":0.741,"U+045B":0.523,"U+045C":0.476,"U+045D":0.522,"U+045E":0.449,"U+045F":0.522,"U+0462":0.589,"U+0463":0.747,"U+0472":0.634,"U+0473":0.514,"U+0474":0.505,"U+0475":0.455,"U+0490":0.473,"U+0491":0.388,"U+0492":0.482,"U+0493":0.388,"U+0496":0.831,"U+0497":0.724,"U+0498":0.531,"U+0499":0.419,"U+049A":0.586,"U+049B":0.502,"U+04A0":0.686,"U+04A1":0.591,"U+04A2":0.635,"U+04A3":0.548,"U+04AA":0.55,"U+04AB":0.435,"U+04AE":0.462,"U+04AF":0.449,"U+04B0":0.461,"U+04B1":0.448,"U+04B2":0.507,"U+04B3":0.418,"U+04B6":0.579,"U+04B7":0.491,"U+04BA":0.571,"U+04BB":0.52,"U+04C0":0.249,"U+04C1":0.81,"U+04C2":0.689,"U+04CF":0.248,"U+04D0":0.511,"U+04D1":0.537,"U+04D4":0.803,"U+04D5":0.761,"U+04D6":0.503,"U+04D7":0.481,"U+04D8":0.636,"U+04D9":0.478,"U+04E2":0.631,"U+04E3":0.522,"U+04E6":0.634,"U+04E7":0.514,"U+04E8":0.634,"U+04E9":0.514,"U+04EE":0.483,"U+04EF":0.449,"U+04F2":0.483,"U+04F3":0.449,"U+1D25":0.503,"U+1D43":0.355,"U+1D47":0.36,"U+1D48":0.365,"U+1D49":0.323,"U+1D4A":0.32,"U+1D4D":0.354,"U+1D4F":0.325,"U+1D50":0.536,"U+1D52":0.348,"U+1D56":0.359,"U+1D57":0.222,"U+1D58":0.355,"U+1D5B":0.307,"U+1D9C":0.292,"U+1DA0":0.195,"U+1DBB":0.279,"U+1E02":0.569,"U+1E03":0.536,"U+1E06":0.569,"U+1E07":0.536,"U+1E0A":0.594,"U+1E0B":0.535,"U+1E0C":0.594,"U+1E0D":0.535,"U+1E0E":0.594,"U+1E0F":0.535,"U+1E10":0.594,"U+1E11":0.535,"U+1E16":0.503,"U+1E17":0.481,"U+1E1E":0.473,"U+1E1F":0.283,"U+1E20":0.589,"U+1E21":0.531,"U+1E24":0.623,"U+1E25":0.523,"U+1E26":0.623,"U+1E27":0.523,"U+1E28":0.623,"U+1E29":0.523,"U+1E2A":0.623,"U+1E2B":0.523,"U+1E32":0.556,"U+1E33":0.476,"U+1E34":0.556,"U+1E35":0.476,"U+1E36":0.463,"U+1E37":0.248,"U+1E38":0.463,"U+1E39":0.248,"U+1E3A":0.463,"U+1E3B":0.248,"U+1E3E":0.705,"U+1E3F":0.799,"U+1E40":0.705,"U+1E41":0.799,"U+1E42":0.705,"U+1E43":0.799,"U+1E44":0.619,"U+1E45":0.526,"U+1E46":0.619,"U+1E47":0.526,"U+1E48":0.619,"U+1E49":0.526,"U+1E52":0.634,"U+1E53":0.514,"U+1E56":0.551,"U+1E57":0.535,"U+1E58":0.556,"U+1E59":0.342,"U+1E5A":0.556,"U+1E5B":0.342,"U+1E5C":0.556,"U+1E5D":0.342,"U+1E5E":0.556,"U+1E5F":0.342,"U+1E60":0.507,"U+1E61":0.402,"U+1E62":0.507,"U+1E63":0.402,"U+1E66":0.507,"U+1E67":0.402,"U+1E6A":0.51,"U+1E6B":0.325,"U+1E6C":0.51,"U+1E6D":0.325,"U+1E6E":0.51,"U+1E6F":0.325,"U+1E7E":0.497,"U+1E7F":0.449,"U+1E80":0.757,"U+1E81":0.708,"U+1E82":0.757,"U+1E83":0.708,"U+1E84":0.757,"U+1E85":0.708,"U+1E8E":0.462,"U+1E8F":0.449,"U+1E90":0.512,"U+1E91":0.411,"U+1E92":0.512,"U+1E93":0.411,"U+1E94":0.512,"U+1E95":0.411,"U+1E96":0.523,"U+1E97":0.325,"U+1E9E":0.633,"U+1EA0":0.511,"U+1EA1":0.537,"U+1EA2":0.511,"U+1EA3":0.537,"U+1EA4":0.511,"U+1EA5":0.537,"U+1EA6":0.511,"U+1EA7":0.537,"U+1EA8":0.511,"U+1EA9":0.537,"U+1EAA":0.511,"U+1EAB":0.537,"U+1EAC":0.511,"U+1EAD":0.537,"U+1EAE":0.511,"U+1EAF":0.537,"U+1EB0":0.511,"U+1EB1":0.537,"U+1EB2":0.511,"U+1EB3":0.537,"U+1EB4":0.511,"U+1EB5":0.537,"U+1EB6":0.511,"U+1EB7":0.537,"U+1EB8":0.503,"U+1EB9":0.481,"U+1EBA":0.503,"U+1EBB":0.481,"U+1EBC":0.503,"U+1EBD":0.481,"U+1EBE":0.503,"U+1EBF":0.481,"U+1EC0":0.503,"U+1EC1":0.481,"U+1EC2":0.503,"U+1EC3":0.481,"U+1EC4":0.503,"U+1EC5":0.481,"U+1EC6":0.503,"U+1EC7":0.481,"U+1EC8":0.249,"U+1EC9":0.237,"U+1ECA":0.249,"U+1ECB":0.237,"U+1ECC":0.634,"U+1ECD":0.514,"U+1ECE":0.634,"U+1ECF":0.514,"U+1ED0":0.634,"U+1ED1":0.514,"U+1ED2":0.634,"U+1ED3":0.514,"U+1ED4":0.634,"U+1ED5":0.514,"U+1ED6":0.634,"U+1ED7":0.514,"U+1ED8":0.634,"U+1ED9":0.514,"U+1EDA":0.634,"U+1EDB":0.517,"U+1EDC":0.634,"U+1EDD":0.517,"U+1EDE":0.634,"U+1EDF":0.517,"U+1EE0":0.634,"U+1EE1":0.517,"U+1EE2":0.634,"U+1EE3":0.517,"U+1EE4":0.616,"U+1EE5":0.522,"U+1EE6":0.616,"U+1EE7":0.522,"U+1EE8":0.63,"U+1EE9":0.543,"U+1EEA":0.63,"U+1EEB":0.543,"U+1EEC":0.63,"U+1EED":0.543,"U+1EEE":0.63,"U+1EEF":0.543,"U+1EF0":0.63,"U+1EF1":0.543,"U+1EF2":0.462,"U+1EF3":0.449,"U+1EF4":0.462,"U+1EF5":0.449,"U+1EF6":0.462,"U+1EF7":0.449,"U+1EF8":0.462,"U+1EF9":0.449,"U+1F00":0.536,"U+1F01":0.536,"U+1F02":0.536,"U+1F03":0.536,"U+1F04":0.536,"U+1F05":0.536,"U+1F06":0.536,"U+1F07":0.536,"U+1F08":0.548,"U+1F09":0.548,"U+1F0A":0.678,"U+1F0B":0.678,"U+1F0C":0.678,"U+1F0D":0.678,"U+1F0E":0.588,"U+1F0F":0.588,"U+1F10":0.405,"U+1F11":0.405,"U+1F12":0.405,"U+1F13":0.405,"U+1F14":0.405,"U+1F15":0.405,"U+1F18":0.618,"U+1F19":0.618,"U+1F1A":0.73,"U+1F1B":0.73,"U+1F1C":0.73,"U+1F1D":0.73,"U+1F20":0.52,"U+1F21":0.52,"U+1F22":0.52,"U+1F23":0.52,"U+1F24":0.52,"U+1F25":0.52,"U+1F26":0.52,"U+1F27":0.52,"U+1F28":0.736,"U+1F29":0.736,"U+1F2A":0.85,"U+1F2B":0.85,"U+1F2C":0.85,"U+1F2D":0.85,"U+1F2E":0.805,"U+1F2F":0.805,"U+1F30":0.248,"U+1F31":0.248,"U+1F32":0.248,"U+1F33":0.248,"U+1F34":0.248,"U+1F35":0.248,"U+1F36":0.248,"U+1F37":0.248,"U+1F38":0.363,"U+1F39":0.363,"U+1F3A":0.477,"U+1F3B":0.477,"U+1F3C":0.477,"U+1F3D":0.477,"U+1F3E":0.432,"U+1F3F":0.432,"U+1F40":0.509,"U+1F41":0.509,"U+1F42":0.509,"U+1F43":0.509,"U+1F44":0.509,"U+1F45":0.509,"U+1F48":0.735,"U+1F49":0.731,"U+1F4A":0.861,"U+1F4B":0.861,"U+1F4C":0.861,"U+1F4D":0.861,"U+1F50":0.495,"U+1F51":0.495,"U+1F52":0.495,"U+1F53":0.495,"U+1F54":0.495,"U+1F55":0.495,"U+1F56":0.495,"U+1F57":0.495,"U+1F59":0.635,"U+1F5B":0.737,"U+1F5D":0.757,"U+1F5F":0.704,"U+1F60":0.669,"U+1F61":0.669,"U+1F62":0.669,"U+1F63":0.669,"U+1F64":0.669,"U+1F65":0.669,"U+1F66":0.669,"U+1F67":0.669,"U+1F68":0.758,"U+1F69":0.754,"U+1F6A":0.884,"U+1F6B":0.884,"U+1F6C":0.884,"U+1F6D":0.884,"U+1F6E":0.819,"U+1F6F":0.819,"U+1F70":0.536,"U+1F71":0.536,"U+1F72":0.405,"U+1F73":0.405,"U+1F74":0.52,"U+1F75":0.52,"U+1F76":0.248,"U+1F77":0.248,"U+1F78":0.509,"U+1F79":0.509,"U+1F7A":0.495,"U+1F7B":0.495,"U+1F7C":0.669,"U+1F7D":0.669,"U+1F80":0.536,"U+1F81":0.536,"U+1F82":0.536,"U+1F83":0.536,"U+1F84":0.536,"U+1F85":0.536,"U+1F86":0.536,"U+1F87":0.536,"U+1F88":0.797,"U+1F89":0.797,"U+1F8A":0.927,"U+1F8B":0.927,"U+1F8C":0.927,"U+1F8D":0.927,"U+1F8E":0.837,"U+1F8F":0.837,"U+1F90":0.52,"U+1F91":0.52,"U+1F92":0.52,"U+1F93":0.52,"U+1F94":0.52,"U+1F95":0.52,"U+1F96":0.52,"U+1F97":0.52,"U+1F98":0.985,"U+1F99":0.997,"U+1F9A":1.099,"U+1F9B":1.099,"U+1F9C":1.099,"U+1F9D":1.099,"U+1F9E":1.054,"U+1F9F":1.054,"U+1FA0":0.669,"U+1FA1":0.669,"U+1FA2":0.669,"U+1FA3":0.669,"U+1FA4":0.669,"U+1FA5":0.669,"U+1FA6":0.669,"U+1FA7":0.669,"U+1FA8":1.007,"U+1FA9":1.007,"U+1FAA":1.133,"U+1FAB":1.133,"U+1FAC":1.133,"U+1FAD":1.133,"U+1FAE":1.068,"U+1FAF":1.068,"U+1FB0":0.536,"U+1FB1":0.536,"U+1FB2":0.536,"U+1FB3":0.536,"U+1FB4":0.536,"U+1FB6":0.536,"U+1FB7":0.536,"U+1FB8":0.511,"U+1FB9":0.511,"U+1FBA":0.533,"U+1FBB":0.533,"U+1FBC":0.759,"U+1FBD":0.542,"U+1FBE":0.248,"U+1FBF":0.542,"U+1FC0":0.542,"U+1FC1":0.542,"U+1FC2":0.52,"U+1FC3":0.52,"U+1FC4":0.52,"U+1FC6":0.52,"U+1FC7":0.52,"U+1FC8":0.568,"U+1FC9":0.564,"U+1FCA":0.688,"U+1FCB":0.683,"U+1FCC":0.871,"U+1FCD":0.542,"U+1FCE":0.542,"U+1FCF":0.542,"U+1FD0":0.248,"U+1FD1":0.248,"U+1FD2":0.248,"U+1FD3":0.248,"U+1FD6":0.248,"U+1FD7":0.248,"U+1FD8":0.249,"U+1FD9":0.249,"U+1FDA":0.314,"U+1FDB":0.311,"U+1FDD":0.542,"U+1FDE":0.542,"U+1FDF":0.542,"U+1FE0":0.495,"U+1FE1":0.495,"U+1FE2":0.495,"U+1FE3":0.495,"U+1FE4":0.531,"U+1FE5":0.531,"U+1FE6":0.495,"U+1FE7":0.495,"U+1FE8":0.462,"U+1FE9":0.462,"U+1FEA":0.587,"U+1FEB":0.579,"U+1FEC":0.665,"U+1FED":0.542,"U+1FEE":0.542,"U+1FEF":0.542,"U+1FF2":0.669,"U+1FF3":0.669,"U+1FF4":0.669,"U+1FF6":0.669,"U+1FF7":0.669,"U+1FF8":0.693,"U+1FF9":0.684,"U+1FFA":0.698,"U+1FFB":0.695,"U+1FFC":0.896,"U+1FFD":0.542,"U+1FFE":0.542,"U+2007":0.48,"U+2009":0.1,"U+200A":0.02,"U+200B":0.0,"U+2010":0.299,"U+2011":0.299,"U+2012":0.48,"U+2013":0.463,"U+2014":0.769,"U+2015":0.769,"U+2016":0.381,"U+2017":0.483,"U+2018":0.242,"U+2019":0.242,"U+201A":0.242,"U+201B":0.242,"U+201C":0.409,"U+201D":0.409,"U+201E":0.409,"U+2020":0.435,"U+2021":0.435,"U+2022":0.295,"U+2026":0.959,"U+202F":0.12,"U+2030":1.145,"U+2032":0.242,"U+2033":0.409,"U+2035":0.242,"U+2039":0.252,"U+203A":0.252,"U+203C":0.539,"U+203D":0.414,"U+203E":0.483,"U+203F":0.541,"U+2044":0.084,"U+2047":0.8,"U+2048":0.673,"U+2049":0.66,"U+2070":0.358,"U+2071":0.163,"U+2074":0.354,"U+2075":0.351,"U+2076":0.353,"U+2077":0.353,"U+2078":0.353,"U+2079":0.353,"U+207A":0.353,"U+207B":0.353,"U+207C":0.353,"U+207D":0.227,"U+207E":0.226,"U+207F":0.355,"U+2080":0.358,"U+2081":0.356,"U+2082":0.353,"U+2083":0.351,"U+2084":0.354,"U+2085":0.351,"U+2086":0.353,"U+2087":0.353,"U+2088":0.353,"U+2089":0.353,"U+208A":0.353,"U+208B":0.353,"U+208C":0.353,"U+208D":0.227,"U+208E":0.226,"U+20A1":0.479,"U+20A3":0.487,"U+20A4":0.479,"U+20A6":0.479,"U+20A7":0.48,"U+20A9":0.477,"U+20AB":0.479,"U+20AC":0.479,"U+20AE":0.486,"U+20B1":0.479,"U+20B2":0.48,"U+20B4":0.477,"U+20B5":0.48,"U+20B8":0.486,"U+20B9":0.479,"U+20BA":0.479,"U+20BD":0.486,"U+2105":0.771,"U+2113":0.394,"U+2116":0.852,"U+2117":0.665,"U+2120":0.602,"U+2122":0.612},"bold":{"U+0020":0.2,"U+0021":0.347,"U+0022":0.551,"U+0023":0.531,"U+0024":0.532,"U+0025":0.861,"U+0026":0.675,"U+0027":0.307,"U+0028":0.349,"U+0029":0.349,"U+002A":0.462,"U+002B":0.532,"U+002C":0.307,"U+002D":0.334,"U+002E":0.307,"U+002F":0.337,"U+0030":0.532,"U+0031":0.532,"U+0032":0.532,"U+0033":0.532,"U+0034":0.532,"U+0035":0.532,"U+0036":0.532,"U+0037":0.532,"U+0038":0.532,"U+0039":0.532,"U+003A":0.307,"U+003B":0.307,"U+003C":0.532,"U+003D":0.532,"U+003E":0.532,"U+003F":0.468,"U+0040":0.908,"U+0041":0.576,"U+0042":0.607,"U+0043":0.583,"U+0044":0.637,"U+0045":0.55,"U+0046":0.528,"U+0047":0.64,"U+0048":0.676,"U+0049":0.306,"U+004A":0.512,"U+004B":0.619,"U+004C":0.522,"U+004D":0.766,"U+004E":0.667,"U+004F":0.687,"U+0050":0.6,"U+0051":0.687,"U+0052":0.618,"U+0053":0.558,"U+0054":0.559,"U+0055":0.667,"U+0056":0.561,"U+0057":0.816,"U+0058":0.574,"U+0059":0.531,"U+005A":0.542,"U+005B":0.349,"U+005C":0.337,"U+005D":0.349,"U+005E":0.532,"U+005F":0.5,"U+0060":0.557,"U+0061":0.53,"U+0062":0.575,"U+0063":0.469,"U+0064":0.575,"U+0065":0.52,"U+0066":0.347,"U+0067":0.538,"U+0068":0.575,"U+0069":0.28,"U+006A":0.282,"U+006B":0.554,"U+006C":0.29,"U+006D":0.861,"U+006E":0.575,"U+006F":0.557,"U+0070":0.575,"U+0071":0.575,"U+0072":0.405,"U+0073":0.446,"U+0074":0.388,"U+0075":0.572,"U+0076":0.529,"U+0077":0.782,"U+0078":0.522,"U+0079":0.528,"U+007A":0.465,"U+007B":0.349,"U+007C":0.271,"U+007D":0.349,"U+007E":0.532,"U+00A0":0.2,"U+00A1":0.347,"U+00A2":0.532,"U+00A3":0.532,"U+00A4":0.532,"U+00A5":0.531,"U+00A6":0.271,"U+00A7":0.532,"U+00A8":0.557,"U+00A9":0.751,"U+00AA":0.36,"U+00AB":0.487,"U+00AC":0.532,"U+00AD":0.334,"U+00AE":0.467,"U+00AF":0.557,"U+00B0":0.369,"U+00B1":0.532,"U+00B2":0.378,"U+00B3":0.378,"U+00B4":0.557,"U+00B5":0.598,"U+00B6":0.646,"U+00B7":0.307,"U+00B8":0.557,"U+00B9":0.378,"U+00BA":0.374,"U+00BB":0.487,"U+00BC":0.813,"U+00BD":0.85,"U+00BE":0.82,"U+00BF":0.468,"U+00C0":0.576,"U+00C1":0.576,"U+00C2":0.576,"U+00C3":0.576,"U+00C4":0.576,"U+00C5":0.576,"U+00C6":0.848,"U+00C7":0.583,"U+00C8":0.55,"U+00C9":0.55,"U+00CA":0.55,"U+00CB":0.55,"U+00CC":0.306,"U+00CD":0.306,"U+00CE":0.306,"U+00CF":0.306,"U+00D0":0.662,"U+00D1":0.667,"U+00D2":0.687,"U+00D3":0.687,"U+00D4":0.687,"U+00D5":0.687,"U+00D6":0.687,"U+00D7":0.532,"U+00D8":0.686,"U+00D9":0.667,"U+00DA":0.667,"U+00DB":0.667,"U+00DC":0.667,"U+00DD":0.531,"U+00DE":0.621,"U+00DF":0.639,"U+00E0":0.53,"U+00E1":0.53,"U+00E2":0.53,"U+00E3":0.53,"U+00E4":0.53,"U+00E5":0.53,"U+00E6":0.781,"U+00E7":0.469,"U+00E8":0.52,"U+00E9":0.52,"U+00EA":0.52,"U+00EB":0.52,"U+00EC":0.28,"U+00ED":0.28,"U+00EE":0.28,"U+00EF":0.28,"U+00F0":0.562,"U+00F1":0.575,"U+00F2":0.557,"U+00F3":0.557,"U+00F4":0.557,"U+00F5":0.557,"U+00F6":0.557,"U+00F7":0.532,"U+00F8":0.557,"U+00F9":0.572,"U+00FA":0.572,"U+00FB":0.572,"U+00FC":0.572,"U+00FD":0.528,"U+00FE":0.575,"U+00FF":0.528,"U+0100":0.576,"U+0101":0.53,"U+0102":0.576,"U+0103":0.53,"U+0104":0.576,"U+0105":0.53,"U+0106":0.583,"U+0107":0.469,"U+0108":0.583,"U+0109":0.469,"U+010A":0.583,"U+010B":0.469,"U+010C":0.583,"U+010D":0.469,"U+010E":0.637,"U+010F":0.619,"U+0110":0.662,"U+0111":0.575,"U+0112":0.55,"U+0113":0.52,"U+0114":0.55,"U+0115":0.52,"U+0116":0.55,"U+0117":0.52,"U+0118":0.55,"U+0119":0.52,"U+011A":0.55,"U+011B":0.52,"U+011C":0.64,"U+011D":0.538,"U+011E":0.64,"U+011F":0.538,"U+0120":0.64,"U+0121":0.538,"U+0122":0.64,"U+0123":0.538,"U+0124":0.676,"U+0125":0.575,"U+0126":0.715,"U+0127":0.574,"U+0128":0.306,"U+0129":0.28,"U+012A":0.306,"U+012B":0.28,"U+012C":0.306,"U+012D":0.28,"U+012E":0.306,"U+012F":0.28,"U+0130":0.306,"U+0131":0.28,"U+0132":0.612,"U+0133":0.562,"U+0134":0.512,"U+0135":0.282,"U+0136":0.619,"U+0137":0.554,"U+0138":0.554,"U+0139":0.522,"U+013A":0.29,"U+013B":0.522,"U+013C":0.29,"U+013D":0.522,"U+013E":0.324,"U+013F":0.522,"U+0140":0.464,"U+0141":0.549,"U+0142":0.366,"U+0143":0.667,"U+0144":0.575,"U+0145":0.667,"U+0146":0.575,"U+0147":0.667,"U+0148":0.575,"U+0149":0.86,"U+014A":0.67,"U+014B":0.575,"U+014C":0.687,"U+014D":0.557,"U+014E":0.687,"U+014F":0.557,"U+0150":0.687,"U+0151":0.557,"U+0152":0.874,"U+0153":0.82,"U+0154":0.618,"U+0155":0.405,"U+0156":0.618,"U+0157":0.405,"U+0158":0.618,"U+0159":0.405,"U+015A":0.558,"U+015B":0.446,"U+015C":0.558,"U+015D":0.446,"U+015E":0.558,"U+015F":0.446,"U+0160":0.558,"U+0161":0.446,"U+0162":0.559,"U+0163":0.388,"U+0164":0.559,"U+0165":0.388,"U+0166":0.558,"U+0167":0.388,"U+0168":0.667,"U+0169":0.572,"U+016A":0.667,"U+016B":0.572,"U+016C":0.667,"U+016D":0.572,"U+016E":0.667,"U+016F":0.572,"U+0170":0.667,"U+0171":0.572,"U+0172":0.667,"U+0173":0.572,"U+0174":0.817,"U+0175":0.783,"U+0176":0.531,"U+0177":0.528,"U+0178":0.531,"U+0179":0.542,"U+017A":0.465,"U+017B":0.542,"U+017C":0.465,"U+017D":0.542,"U+017E":0.465,"U+017F":0.319,"U+0180":0.574,"U+018A":0.833,"U+018E":0.55,"U+018F":0.677,"U+0192":0.347,"U+0193":0.64,"U+0197":0.345,"U+01A0":0.687,"U+01A1":0.557,"U+01AF":0.686,"U+01B0":0.572,"U+01C2":0.469,"U+01C3":0.248,"U+01CD":0.576,"U+01CE":0.53,"U+01CF":0.306,"U+01D0":0.28,"U+01D1":0.687,"U+01D2":0.557,"U+01D3":0.667,"U+01D4":0.572,"U+01D5":0.667,"U+01D6":0.572,"U+01D7":0.667,"U+01D8":0.572,"U+01D9":0.667,"U+01DA":0.572,"U+01DB":0.667,"U+01DC":0.572,"U+01DD":0.52,"U+01E2":0.848,"U+01E3":0.781,"U+01E6":0.64,"U+01E7":0.538,"U+01EA":0.687,"U+01EB":0.557,"U+01F4":0.64,"U+01F5":0.538,"U+01F8":0.667,"U+01F9":0.575,"U+01FA":0.576,"U+01FB":0.53,"U+01FC":0.848,"U+01FD":0.781,"U+01FE":0.687,"U+01FF":0.557,"U+0218":0.558,"U+0219":0.446,"U+021A":0.559,"U+021B":0.388,"U+0237":0.282,"U+0241":0.537,"U+0242":0.476,"U+0243":0.631,"U+0250":0.536,"U+0251":0.576,"U+0252":0.585,"U+0253":0.575,"U+0254":0.469,"U+0255":0.478,"U+0256":0.575,"U+0257":0.575,"U+0258":0.52,"U+0259":0.52,"U+025A":0.733,"U+025B":0.447,"U+025C":0.449,"U+025E":0.568,"U+025F":0.361,"U+0260":0.575,"U+0261":0.575,"U+0262":0.519,"U+0263":0.529,"U+0264":0.577,"U+0265":0.575,"U+0266":0.575,"U+0267":0.575,"U+0268":0.362,"U+0269":0.29,"U+026A":0.402,"U+026B":0.436,"U+026C":0.449,"U+026D":0.29,"U+026E":0.63,"U+026F":0.861,"U+0270":0.861,"U+0271":0.861,"U+0272":0.575,"U+0273":0.575,"U+0274":0.563,"U+0275":0.557,"U+0276":0.729,"U+0277":0.753,"U+0278":0.745,"U+0279":0.405,"U+027A":0.405,"U+027B":0.405,"U+027D":0.405,"U+027E":0.382,"U+0280":0.536,"U+0281":0.536,"U+0282":0.446,"U+0283":0.282,"U+0284":0.361,"U+0287":0.388,"U+0288":0.388,"U+0289":0.657,"U+028A":0.57,"U+028B":0.554,"U+028C":0.529,"U+028D":0.783,"U+028E":0.528,"U+028F":0.473,"U+0290":0.465,"U+0291":0.527,"U+0292":0.465,"U+0294":0.452,"U+0295":0.452,"U+0298":0.559,"U+0299":0.531,"U+029C":0.585,"U+029D":0.397,"U+029E":0.556,"U+029F":0.434,"U+02A1":0.461,"U+02A2":0.461,"U+02A4":0.903,"U+02A6":0.733,"U+02A7":0.594,"U+02B0":0.386,"U+02B1":0.386,"U+02B2":0.192,"U+02B3":0.276,"U+02B7":0.528,"U+02B8":0.357,"U+02B9":0.307,"U+02BB":0.307,"U+02BC":0.307,"U+02BE":0.195,"U+02BF":0.195,"U+02C0":0.347,"U+02C1":0.347,"U+02C6":0.557,"U+02C7":0.557,"U+02C8":0.151,"U+02C9":0.312,"U+02CA":0.237,"U+02CB":0.237,"U+02CC":0.151,"U+02D0":0.265,"U+02D1":0.265,"U+02D8":0.557,"U+02D9":0.557,"U+02DA":0.557,"U+02DB":0.557,"U+02DC":0.557,"U+02DD":0.557,"U+02DE":0.216,"U+02E0":0.358,"U+02E1":0.197,"U+02E2":0.298,"U+02E3":0.353,"U+02E4":0.347,"U+0300":0.0,"U+0301":0.0,"U+0302":0.0,"U+0303":0.0,"U+0304":0.0,"U+0305":0.0,"U+0306":0.0,"U+0307":0.0,"U+0308":0.0,"U+0309":0.0,"U+030A":0.0,"U+030B":0.0,"U+030C":0.0,"U+030D":0.0,"U+030F":0.0,"U+0310":0.0,"U+0311":0.0,"U+0312":0.0,"U+0313":0.0,"U+0318":0.0,"U+0319":0.0,"U+031A":0.0,"U+031B":0.0,"U+031C":0.0,"U+031D":0.0,"U+031E":0.0,"U+031F":0.0,"U+0320":0.0,"U+0323":0.0,"U+0324":0.0,"U+0325":0.0,"U+0326":0.0,"U+0327":0.0,"U+0328":0.0,"U+0329":0.0,"U+032A":0.0,"U+032C":0.0,"U+032E":0.0,"U+032F":0.0,"U+0330":0.0,"U+0331":0.0,"U+0332":0.0,"U+0334":0.0,"U+0339":0.0,"U+033A":0.0,"U+033B":0.0,"U+033C":0.0,"U+033D":0.0,"U+0342":0.0,"U+0343":0.0,"U+0344":0.0,"U+0345":0.0,"U+034F":0.0,"U+0358":0.0,"U+035F":0.0,"U+0361":0.0,"U+0374":0.307,"U+0375":0.307,"U+037A":0.557,"U+037E":0.307,"U+0384":0.557,"U+0385":0.557,"U+0386":0.647,"U+0387":0.307,"U+0388":0.676,"U+0389":0.802,"U+038A":0.431,"U+038C":0.793,"U+038E":0.717,"U+038F":0.813,"U+0390":0.306,"U+0391":0.576,"U+0392":0.607,"U+0393":0.524,"U+0394":0.646,"U+0395":0.55,"U+0396":0.542,"U+0397":0.676,"U+0398":0.687,"U+0399":0.306,"U+039A":0.619,"U+039B":0.561,"U+039C":0.767,"U+039D":0.667,"U+039E":0.576,"U+039F":0.687,"U+03A0":0.665,"U+03A1":0.6,"U+03A3":0.551,"U+03A4":0.559,"U+03A5":0.531,"U+03A6":0.765,"U+03A7":0.574,"U+03A8":0.758,"U+03A9":0.715,"U+03AA":0.306,"U+03AB":0.531,"U+03AC":0.599,"U+03AD":0.474,"U+03AE":0.564,"U+03AF":0.306,"U+03B0":0.534,"U+03B1":0.599,"U+03B2":0.605,"U+03B3":0.539,"U+03B4":0.55,"U+03B5":0.474,"U+03B6":0.471,"U+03B7":0.564,"U+03B8":0.552,"U+03B9":0.306,"U+03BA":0.552,"U+03BB":0.559,"U+03BC":0.598,"U+03BD":0.529,"U+03BE":0.474,"U+03BF":0.555,"U+03C0":0.641,"U+03C1":0.571,"U+03C2":0.448,"U+03C3":0.577,"U+03C4":0.496,"U+03C5":0.534,"U+03C6":0.745,"U+03C7":0.532,"U+03C8":0.759,"U+03C9":0.752,"U+03CA":0.306,"U+03CB":0.534,"U+03CC":0.555,"U+03CD":0.534,"U+03CE":0.752,"U+03D0":0.595,"U+03D1":0.553,"U+03D5":0.745,"U+03D7":0.552,"U+03D9":0.555,"U+03DB":0.494,"U+03DD":0.435,"U+03E1":0.54,"U+0400":0.55,"U+0401":0.55,"U+0402":0.702,"U+0403":0.524,"U+0404":0.583,"U+0405":0.558,"U+0406":0.306,"U+0407":0.306,"U+0408":0.512,"U+0409":0.908,"U+040A":0.933,"U+040B":0.72,"U+040C":0.619,"U+040D":0.679,"U+040E":0.559,"U+040F":0.665,"U+0410":0.576,"U+0411":0.603,"U+0412":0.607,"U+0413":0.524,"U+0414":0.674,"U+0415":0.55,"U+0416":0.88,"U+0417":0.565,"U+0418":0.678,"U+0419":0.679,"U+041A":0.619,"U+041B":0.661,"U+041C":0.767,"U+041D":0.676,"U+041E":0.687,"U+041F":0.665,"U+0420":0.6,"U+0421":0.583,"U+0422":0.559,"U+0423":0.559,"U+0424":0.768,"U+0425":0.574,"U+0426":0.673,"U+0427":0.634,"U+0428":0.918,"U+0429":0.933,"U+042A":0.731,"U+042B":0.86,"U+042C":0.603,"U+042D":0.583,"U+042E":0.955,"U+042F":0.621,"U+0430":0.53,"U+0431":0.563,"U+0432":0.53,"U+0433":0.434,"U+0434":0.59,"U+0435":0.52,"U+0436":0.772,"U+0437":0.478,"U+0438":0.585,"U+0439":0.585,"U+043A":0.554,"U+043B":0.579,"U+043C":0.663,"U+043D":0.585,"U+043E":0.557,"U+043F":0.576,"U+0440":0.575,"U+0441":0.469,"U+0442":0.496,"U+0443":0.528,"U+0444":0.784,"U+0445":0.522,"U+0446":0.599,"U+0447":0.554,"U+0448":0.81,"U+0449":0.837,"U+044A":0.627,"U+044B":0.747,"U+044C":0.519,"U+044D":0.469,"U+044E":0.78,"U+044F":0.548,"U+0450":0.52,"U+0451":0.52,"U+0452":0.575,"U+0453":0.434,"U+0454":0.469,"U+0455":0.446,"U+0456":0.28,"U+0457":0.28,"U+0458":0.282,"U+0459":0.786,"U+045A":0.792,"U+045B":0.575,"U+045C":0.554,"U+045D":0.585,"U+045E":0.528,"U+045F":0.581,"U+0462":0.625,"U+0463":0.604,"U+0472":0.687,"U+0473":0.557,"U+0474":0.58,"U+0475":0.539,"U+0490":0.524,"U+0491":0.435,"U+0492":0.549,"U+0493":0.475,"U+0496":0.918,"U+0497":0.815,"U+0498":0.565,"U+0499":0.479,"U+049A":0.672,"U+049B":0.594,"U+04A0":0.745,"U+04A1":0.663,"U+04A2":0.693,"U+04A3":0.612,"U+04AA":0.583,"U+04AB":0.469,"U+04AE":0.531,"U+04AF":0.529,"U+04B0":0.53,"U+04B1":0.528,"U+04B2":0.612,"U+04B3":0.556,"U+04B6":0.65,"U+04B7":0.582,"U+04BA":0.634,"U+04BB":0.575,"U+04C0":0.306,"U+04C1":0.88,"U+04C2":0.772,"U+04CF":0.29,"U+04D0":0.576,"U+04D1":0.53,"U+04D4":0.848,"U+04D5":0.781,"U+04D6":0.55,"U+04D7":0.52,"U+04D8":0.677,"U+04D9":0.52,"U+04E2":0.679,"U+04E3":0.585,"U+04E6":0.687,"U+04E7":0.557,"U+04E8":0.687,"U+04E9":0.557,"U+04EE":0.559,"U+04EF":0.528,"U+04F2":0.559,"U+04F3":0.528,"U+1D25":0.577,"U+1D43":0.36,"U+1D47":0.387,"U+1D48":0.387,"U+1D49":0.347,"U+1D4A":0.347,"U+1D4D":0.363,"U+1D4F":0.375,"U+1D50":0.579,"U+1D52":0.374,"U+1D56":0.387,"U+1D57":0.263,"U+1D58":0.385,"U+1D5B":0.359,"U+1D9C":0.314,"U+1DA0":0.236,"U+1DBB":0.314,"U+1E02":0.607,"U+1E03":0.575,"U+1E06":0.607,"U+1E07":0.575,"U+1E0A":0.637,"U+1E0B":0.575,"U+1E0C":0.637,"U+1E0D":0.575,"U+1E0E":0.637,"U+1E0F":0.575,"U+1E10":0.637,"U+1E11":0.575,"U+1E16":0.55,"U+1E17":0.52,"U+1E1E":0.528,"U+1E1F":0.347,"U+1E20":0.64,"U+1E21":0.538,"U+1E24":0.676,"U+1E25":0.575,"U+1E26":0.676,"U+1E27":0.575,"U+1E28":0.676,"U+1E29":0.575,"U+1E2A":0.676,"U+1E2B":0.575,"U+1E32":0.619,"U+1E33":0.554,"U+1E34":0.619,"U+1E35":0.554,"U+1E36":0.522,"U+1E37":0.29,"U+1E38":0.522,"U+1E39":0.29,"U+1E3A":0.522,"U+1E3B":0.29,"U+1E3E":0.767,"U+1E3F":0.861,"U+1E40":0.767,"U+1E41":0.861,"U+1E42":0.767,"U+1E43":0.861,"U+1E44":0.667,"U+1E45":0.575,"U+1E46":0.667,"U+1E47":0.575,"U+1E48":0.667,"U+1E49":0.575,"U+1E52":0.687,"U+1E53":0.557,"U+1E56":0.6,"U+1E57":0.575,"U+1E58":0.618,"U+1E59":0.405,"U+1E5A":0.618,"U+1E5B":0.405,"U+1E5C":0.618,"U+1E5D":0.405,"U+1E5E":0.618,"U+1E5F":0.405,"U+1E60":0.558,"U+1E61":0.446,"U+1E62":0.558,"U+1E63":0.446,"U+1E66":0.558,"U+1E67":0.446,"U+1E6A":0.559,"U+1E6B":0.388,"U+1E6C":0.559,"U+1E6D":0.388,"U+1E6E":0.559,"U+1E6F":0.388,"U+1E7E":0.561,"U+1E7F":0.529,"U+1E80":0.817,"U+1E81":0.783,"U+1E82":0.817,"U+1E83":0.783,"U+1E84":0.817,"U+1E85":0.783,"U+1E8E":0.531,"U+1E8F":0.528,"U+1E90":0.542,"U+1E91":0.465,"U+1E92":0.542,"U+1E93":0.465,"U+1E94":0.542,"U+1E95":0.465,"U+1E96":0.575,"U+1E97":0.388,"U+1E9E":0.71,"U+1EA0":0.576,"U+1EA1":0.53,"U+1EA2":0.576,"U+1EA3":0.53,"U+1EA4":0.576,"U+1EA5":0.53,"U+1EA6":0.576,"U+1EA7":0.53,"U+1EA8":0.576,"U+1EA9":0.53,"U+1EAA":0.576,"U+1EAB":0.53,"U+1EAC":0.576,"U+1EAD":0.53,"U+1EAE":0.576,"U+1EAF":0.53,"U+1EB0":0.576,"U+1EB1":0.53,"U+1EB2":0.576,"U+1EB3":0.53,"U+1EB4":0.576,"U+1EB5":0.53,"U+1EB6":0.576,"U+1EB7":0.53,"U+1EB8":0.55,"U+1EB9":0.52,"U+1EBA":0.55,"U+1EBB":0.52,"U+1EBC":0.55,"U+1EBD":0.52,"U+1EBE":0.55,"U+1EBF":0.52,"U+1EC0":0.55,"U+1EC1":0.52,"U+1EC2":0.55,"U+1EC3":0.52,"U+1EC4":0.55,"U+1EC5":0.52,"U+1EC6":0.55,"U+1EC7":0.52,"U+1EC8":0.306,"U+1EC9":0.28,"U+1ECA":0.306,"U+1ECB":0.28,"U+1ECC":0.687,"U+1ECD":0.557,"U+1ECE":0.687,"U+1ECF":0.557,"U+1ED0":0.687,"U+1ED1":0.557,"U+1ED2":0.687,"U+1ED3":0.557,"U+1ED4":0.687,"U+1ED5":0.557,"U+1ED6":0.687,"U+1ED7":0.557,"U+1ED8":0.687,"U+1ED9":0.557,"U+1EDA":0.687,"U+1EDB":0.557,"U+1EDC":0.687,"U+1EDD":0.557,"U+1EDE":0.687,"U+1EDF":0.557,"U+1EE0":0.687,"U+1EE1":0.557,"U+1EE2":0.687,"U+1EE3":0.557,"U+1EE4":0.667,"U+1EE5":0.572,"U+1EE6":0.667,"U+1EE7":0.572,"U+1EE8":0.686,"U+1EE9":0.572,"U+1EEA":0.686,"U+1EEB":0.572,"U+1EEC":0.686,"U+1EED":0.572,"U+1EEE":0.686,"U+1EEF":0.572,"U+1EF0":0.686,"U+1EF1":0.572,"U+1EF2":0.531,"U+1EF3":0.528,"U+1EF4":0.531,"U+1EF5":0.528,"U+1EF6":0.531,"U+1EF7":0.528,"U+1EF8":0.531,"U+1EF9":0.528,"U+1F00":0.599,"U+1F01":0.599,"U+1F02":0.599,"U+1F03":0.599,"U+1F04":0.599,"U+1F05":0.599,"U+1F06":0.599,"U+1F07":0.599,"U+1F08":0.664,"U+1F09":0.647,"U+1F0A":0.835,"U+1F0B":0.835,"U+1F0C":0.835,"U+1F0D":0.835,"U+1F0E":0.704,"U+1F0F":0.704,"U+1F10":0.474,"U+1F11":0.474,"U+1F12":0.474,"U+1F13":0.474,"U+1F14":0.474,"U+1F15":0.474,"U+1F18":0.719,"U+1F19":0.719,"U+1F1A":0.878,"U+1F1B":0.878,"U+1F1C":0.878,"U+1F1D":0.878,"U+1F20":0.564,"U+1F21":0.564,"U+1F22":0.564,"U+1F23":0.564,"U+1F24":0.564,"U+1F25":0.564,"U+1F26":0.564,"U+1F27":0.564,"U+1F28":0.844,"U+1F29":0.844,"U+1F2A":1.004,"U+1F2B":1.003,"U+1F2C":1.004,"U+1F2D":1.003,"U+1F2E":0.907,"U+1F2F":0.907,"U+1F30":0.306,"U+1F31":0.306,"U+1F32":0.306,"U+1F33":0.306,"U+1F34":0.306,"U+1F35":0.306,"U+1F36":0.306,"U+1F37":0.306,"U+1F38":0.474,"U+1F39":0.474,"U+1F3A":0.634,"U+1F3B":0.633,"U+1F3C":0.634,"U+1F3D":0.633,"U+1F3E":0.536,"U+1F3F":0.536,"U+1F40":0.555,"U+1F41":0.555,"U+1F42":0.555,"U+1F43":0.555,"U+1F44":0.555,"U+1F45":0.555,"U+1F48":0.835,"U+1F49":0.816,"U+1F4A":1.013,"U+1F4B":1.013,"U+1F4C":1.005,"U+1F4D":1.004,"U+1F50":0.534,"U+1F51":0.534,"U+1F52":0.534,"U+1F53":0.534,"U+1F54":0.534,"U+1F55":0.534,"U+1F56":0.534,"U+1F57":0.534,"U+1F59":0.759,"U+1F5B":0.918,"U+1F5D":0.927,"U+1F5F":0.821,"U+1F60":0.752,"U+1F61":0.752,"U+1F62":0.752,"U+1F63":0.752,"U+1F64":0.752,"U+1F65":0.752,"U+1F66":0.752,"U+1F67":0.752,"U+1F68":0.863,"U+1F69":0.844,"U+1F6A":1.042,"U+1F6B":1.041,"U+1F6C":1.024,"U+1F6D":1.023,"U+1F6E":0.905,"U+1F6F":0.905,"U+1F70":0.599,"U+1F71":0.599,"U+1F72":0.474,"U+1F73":0.474,"U+1F74":0.564,"U+1F75":0.564,"U+1F76":0.306,"U+1F77":0.306,"U+1F78":0.555,"U+1F79":0.555,"U+1F7A":0.534,"U+1F7B":0.534,"U+1F7C":0.752,"U+1F7D":0.752,"U+1F80":0.599,"U+1F81":0.599,"U+1F82":0.599,"U+1F83":0.599,"U+1F84":0.599,"U+1F85":0.599,"U+1F86":0.599,"U+1F87":0.599,"U+1F88":0.97,"U+1F89":0.952,"U+1F8A":1.141,"U+1F8B":1.14,"U+1F8C":1.141,"U+1F8D":1.14,"U+1F8E":1.01,"U+1F8F":1.01,"U+1F90":0.564,"U+1F91":0.564,"U+1F92":0.564,"U+1F93":0.564,"U+1F94":0.564,"U+1F95":0.564,"U+1F96":0.564,"U+1F97":0.564,"U+1F98":1.15,"U+1F99":1.15,"U+1F9A":1.31,"U+1F9B":1.309,"U+1F9C":1.31,"U+1F9D":1.309,"U+1F9E":1.212,"U+1F9F":1.212,"U+1FA0":0.752,"U+1FA1":0.752,"U+1FA2":0.752,"U+1FA3":0.752,"U+1FA4":0.752,"U+1FA5":0.752,"U+1FA6":0.752,"U+1FA7":0.752,"U+1FA8":1.168,"U+1FA9":1.15,"U+1FAA":1.347,"U+1FAB":1.346,"U+1FAC":1.33,"U+1FAD":1.329,"U+1FAE":1.211,"U+1FAF":1.211,"U+1FB0":0.599,"U+1FB1":0.599,"U+1FB2":0.599,"U+1FB3":0.599,"U+1FB4":0.599,"U+1FB6":0.599,"U+1FB7":0.599,"U+1FB8":0.576,"U+1FB9":0.576,"U+1FBA":0.647,"U+1FBB":0.647,"U+1FBC":0.882,"U+1FBD":0.557,"U+1FBE":0.306,"U+1FBF":0.557,"U+1FC0":0.557,"U+1FC1":0.557,"U+1FC2":0.564,"U+1FC3":0.564,"U+1FC4":0.564,"U+1FC6":0.564,"U+1FC7":0.564,"U+1FC8":0.676,"U+1FC9":0.676,"U+1FCA":0.802,"U+1FCB":0.802,"U+1FCC":0.982,"U+1FCD":0.557,"U+1FCE":0.557,"U+1FCF":0.557,"U+1FD0":0.306,"U+1FD1":0.306,"U+1FD2":0.306,"U+1FD3":0.306,"U+1FD6":0.306,"U+1FD7":0.306,"U+1FD8":0.306,"U+1FD9":0.306,"U+1FDA":0.431,"U+1FDB":0.431,"U+1FDD":0.557,"U+1FDE":0.557,"U+1FDF":0.557,"U+1FE0":0.534,"U+1FE1":0.534,"U+1FE2":0.534,"U+1FE3":0.534,"U+1FE4":0.571,"U+1FE5":0.571,"U+1FE6":0.534,"U+1FE7":0.534,"U+1FE8":0.531,"U+1FE9":0.531,"U+1FEA":0.717,"U+1FEB":0.717,"U+1FEC":0.768,"U+1FED":0.557,"U+1FEE":0.557,"U+1FEF":0.557,"U+1FF2":0.752,"U+1FF3":0.752,"U+1FF4":0.752,"U+1FF6":0.752,"U+1FF7":0.752,"U+1FF8":0.811,"U+1FF9":0.793,"U+1FFA":0.83,"U+1FFB":0.813,"U+1FFC":1.021,"U+1FFD":0.557,"U+1FFE":0.557,"U+2007":0.532,"U+2009":0.1,"U+200A":0.02,"U+200B":0.0,"U+2010":0.334,"U+2011":0.334,"U+2012":0.532,"U+2013":0.48,"U+2014":0.8,"U+2015":0.8,"U+2016":0.461,"U+2017":0.5,"U+2018":0.307,"U+2019":0.307,"U+201A":0.307,"U+201B":0.307,"U+201C":0.551,"U+201D":0.551,"U+201E":0.551,"U+2020":0.517,"U+2021":0.517,"U+2022":0.349,"U+2026":0.982,"U+202F":0.12,"U+2030":1.256,"U+2032":0.307,"U+2033":0.551,"U+2035":0.307,"U+2039":0.294,"U+203A":0.294,"U+203C":0.623,"U+203D":0.485,"U+203E":0.5,"U+203F":0.59,"U+2044":0.097,"U+2047":0.881,"U+2048":0.759,"U+2049":0.759,"U+2070":0.378,"U+2071":0.19,"U+2074":0.378,"U+2075":0.378,"U+2076":0.378,"U+2077":0.378,"U+2078":0.378,"U+2079":0.378,"U+207A":0.378,"U+207B":0.378,"U+207C":0.378,"U+207D":0.272,"U+207E":0.272,"U+207F":0.386,"U+2080":0.378,"U+2081":0.378,"U+2082":0.378,"U+2083":0.378,"U+2084":0.378,"U+2085":0.378,"U+2086":0.378,"U+2087":0.378,"U+2088":0.378,"U+2089":0.378,"U+208A":0.378,"U+208B":0.378,"U+208C":0.378,"U+208D":0.272,"U+208E":0.272,"U+20A1":0.531,"U+20A3":0.532,"U+20A4":0.531,"U+20A6":0.531,"U+20A7":0.532,"U+20A9":0.531,"U+20AB":0.531,"U+20AC":0.531,"U+20AE":0.531,"U+20B1":0.531,"U+20B2":0.532,"U+20B4":0.531,"U+20B5":0.532,"U+20B8":0.531,"U+20B9":0.531,"U+20BA":0.531,"U+20BD":0.531,"U+2105":0.85,"U+2113":0.478,"U+2116":0.975,"U+2117":0.75,"U+2120":0.688,"U+2122":0.688},"bold_italic":{"U+0020":0.2,"U+0021":0.337,"U+0022":0.523,"U+0023":0.509,"U+0024":0.512,"U+0025":0.834,"U+0026":0.639,"U+0027":0.297,"U+0028":0.334,"U+0029":0.336,"U+002A":0.443,"U+002B":0.512,"U+002C":0.297,"U+002D":0.322,"U+002E":0.297,"U+002F":0.327,"U+0030":0.512,"U+0031":0.512,"U+0032":0.512,"U+0033":0.512,"U+0034":0.512,"U+0035":0.512,"U+0036":0.512,"U+0037":0.512,"U+0038":0.512,"U+0039":0.512,"U+003A":0.297,"U+003B":0.297,"U+003C":0.512,"U+003D":0.512,"U+003E":0.512,"U+003F":0.449,"U+0040":0.872,"U+0041":0.552,"U+0042":0.596,"U+0043":0.569,"U+0044":0.625,"U+0045":0.528,"U+0046":0.508,"U+0047":0.614,"U+0048":0.656,"U+0049":0.3,"U+004A":0.495,"U+004B":0.601,"U+004C":0.504,"U+004D":0.744,"U+004E":0.645,"U+004F":0.663,"U+0050":0.587,"U+0051":0.663,"U+0052":0.601,"U+0053":0.532,"U+0054":0.534,"U+0055":0.647,"U+0056":0.561,"U+0057":0.798,"U+0058":0.552,"U+0059":0.515,"U+005A":0.527,"U+005B":0.334,"U+005C":0.327,"U+005D":0.334,"U+005E":0.509,"U+005F":0.48,"U+0060":0.536,"U+0061":0.554,"U+0062":0.555,"U+0063":0.444,"U+0064":0.547,"U+0065":0.498,"U+0066":0.332,"U+0067":0.548,"U+0068":0.55,"U+0069":0.269,"U+006A":0.27,"U+006B":0.531,"U+006C":0.279,"U+006D":0.831,"U+006E":0.555,"U+006F":0.533,"U+0070":0.555,"U+0071":0.553,"U+0072":0.389,"U+0073":0.426,"U+0074":0.373,"U+0075":0.546,"U+0076":0.505,"U+0077":0.753,"U+0078":0.498,"U+0079":0.505,"U+007A":0.447,"U+007B":0.332,"U+007C":0.258,"U+007D":0.336,"U+007E":0.512,"U+00A0":0.2,"U+00A1":0.337,"U+00A2":0.512,"U+00A3":0.512,"U+00A4":0.512,"U+00A5":0.512,"U+00A6":0.258,"U+00A7":0.509,"U+00A8":0.536,"U+00A9":0.672,"U+00AA":0.366,"U+00AB":0.467,"U+00AC":0.512,"U+00AD":0.322,"U+00AE":0.448,"U+00AF":0.536,"U+00B0":0.353,"U+00B1":0.512,"U+00B2":0.365,"U+00B3":0.362,"U+00B4":0.536,"U+00B5":0.559,"U+00B6":0.617,"U+00B7":0.297,"U+00B8":0.536,"U+00B9":0.379,"U+00BA":0.359,"U+00BB":0.467,"U+00BC":0.78,"U+00BD":0.817,"U+00BE":0.792,"U+00BF":0.449,"U+00C0":0.552,"U+00C1":0.552,"U+00C2":0.552,"U+00C3":0.552,"U+00C4":0.552,"U+00C5":0.552,"U+00C6":0.843,"U+00C7":0.569,"U+00C8":0.528,"U+00C9":0.528,"U+00CA":0.528,"U+00CB":0.528,"U+00CC":0.3,"U+00CD":0.3,"U+00CE":0.3,"U+00CF":0.3,"U+00D0":0.641,"U+00D1":0.646,"U+00D2":0.663,"U+00D3":0.663,"U+00D4":0.663,"U+00D5":0.663,"U+00D6":0.663,"U+00D7":0.512,"U+00D8":0.663,"U+00D9":0.647,"U+00DA":0.647,"U+00DB":0.647,"U+00DC":0.647,"U+00DD":0.515,"U+00DE":0.599,"U+00DF":0.616,"U+00E0":0.554,"U+00E1":0.554,"U+00E2":0.554,"U+00E3":0.554,"U+00E4":0.554,"U+00E5":0.554,"U+00E6":0.754,"U+00E7":0.444,"U+00E8":0.498,"U+00E9":0.498,"U+00EA":0.498,"U+00EB":0.498,"U+00EC":0.269,"U+00ED":0.269,"U+00EE":0.269,"U+00EF":0.269,"U+00F0":0.554,"U+00F1":0.555,"U+00F2":0.533,"U+00F3":0.533,"U+00F4":0.533,"U+00F5":0.533,"U+00F6":0.533,"U+00F7":0.512,"U+00F8":0.534,"U+00F9":0.546,"U+00FA":0.546,"U+00FB":0.546,"U+00FC":0.546,"U+00FD":0.505,"U+00FE":0.555,"U+00FF":0.505,"U+0100":0.552,"U+0101":0.554,"U+0102":0.552,"U+0103":0.554,"U+0104":0.552,"U+0105":0.554,"U+0106":0.569,"U+0107":0.444,"U+0108":0.569,"U+0109":0.444,"U+010A":0.569,"U+010B":0.444,"U+010C":0.569,"U+010D":0.444,"U+010E":0.625,"U+010F":0.573,"U+0110":0.643,"U+0111":0.552,"U+0112":0.528,"U+0113":0.498,"U+0114":0.528,"U+0115":0.498,"U+0116":0.528,"U+0117":0.498,"U+0118":0.528,"U+0119":0.498,"U+011A":0.528,"U+011B":0.498,"U+011C":0.614,"U+011D":0.548,"U+011E":0.614,"U+011F":0.548,"U+0120":0.614,"U+0121":0.548,"U+0122":0.614,"U+0123":0.548,"U+0124":0.656,"U+0125":0.55,"U+0126":0.688,"U+0127":0.549,"U+0128":0.3,"U+0129":0.269,"U+012A":0.3,"U+012B":0.269,"U+012C":0.3,"U+012D":0.269,"U+012E":0.3,"U+012F":0.269,"U+0130":0.3,"U+0131":0.269,"U+0132":0.6,"U+0133":0.539,"U+0134":0.495,"U+0135":0.27,"U+0136":0.601,"U+0137":0.531,"U+0138":0.531,"U+0139":0.504,"U+013A":0.279,"U+013B":0.504,"U+013C":0.279,"U+013D":0.504,"U+013E":0.289,"U+013F":0.504,"U+0140":0.432,"U+0141":0.532,"U+0142":0.343,"U+0143":0.646,"U+0144":0.555,"U+0145":0.646,"U+0146":0.555,"U+0147":0.646,"U+0148":0.555,"U+0149":0.836,"U+014A":0.651,"U+014B":0.555,"U+014C":0.663,"U+014D":0.533,"U+014E":0.663,"U+014F":0.533,"U+0150":0.663,"U+0151":0.533,"U+0152":0.835,"U+0153":0.796,"U+0154":0.601,"U+0155":0.389,"U+0156":0.601,"U+0157":0.389,"U+0158":0.601,"U+0159":0.389,"U+015A":0.532,"U+015B":0.426,"U+015C":0.532,"U+015D":0.426,"U+015E":0.532,"U+015F":0.426,"U+0160":0.532,"U+0161":0.426,"U+0162":0.534,"U+0163":0.373,"U+0164":0.534,"U+0165":0.373,"U+0166":0.534,"U+0167":0.372,"U+0168":0.647,"U+0169":0.546,"U+016A":0.647,"U+016B":0.546,"U+016C":0.647,"U+016D":0.546,"U+016E":0.647,"U+016F":0.546,"U+0170":0.647,"U+0171":0.546,"U+0172":0.647,"U+0173":0.546,"U+0174":0.798,"U+0175":0.753,"U+0176":0.515,"U+0177":0.505,"U+0178":0.515,"U+0179":0.527,"U+017A":0.447,"U+017B":0.527,"U+017C":0.447,"U+017D":0.527,"U+017E":0.447,"U+017F":0.332,"U+0180":0.549,"U+018A":0.786,"U+018E":0.528,"U+018F":0.672,"U+0192":0.332,"U+0193":0.614,"U+0197":0.332,"U+01A0":0.663,"U+01A1":0.54,"U+01AF":0.67,"U+01B0":0.57,"U+01C2":0.426,"U+01C3":0.33,"U+01CD":0.552,"U+01CE":0.554,"U+01CF":0.3,"U+01D0":0.269,"U+01D1":0.663,"U+01D2":0.533,"U+01D3":0.647,"U+01D4":0.546,"U+01D5":0.647,"U+01D6":0.546,"U+01D7":0.647,"U+01D8":0.546,"U+01D9":0.647,"U+01DA":0.546,"U+01DB":0.647,"U+01DC":0.546,"U+01DD":0.498,"U+01E2":0.843,"U+01E3":0.754,"U+01E6":0.614,"U+01E7":0.548,"U+01EA":0.663,"U+01EB":0.533,"U+01F4":0.614,"U+01F5":0.548,"U+01F8":0.646,"U+01F9":0.555,"U+01FA":0.552,"U+01FB":0.554,"U+01FC":0.843,"U+01FD":0.754,"U+01FE":0.663,"U+01FF":0.533,"U+0218":0.532,"U+0219":0.426,"U+021A":0.534,"U+021B":0.373,"U+0237":0.27,"U+0241":0.52,"U+0242":0.459,"U+0243":0.614,"U+0250":0.511,"U+0251":0.561,"U+0252":0.561,"U+0253":0.555,"U+0254":0.455,"U+0255":0.477,"U+0256":0.553,"U+0257":0.553,"U+0258":0.498,"U+0259":0.498,"U+025A":0.705,"U+025B":0.447,"U+025C":0.447,"U+025E":0.534,"U+025F":0.314,"U+0260":0.562,"U+0261":0.548,"U+0262":0.501,"U+0263":0.505,"U+0264":0.555,"U+0265":0.553,"U+0266":0.549,"U+0267":0.549,"U+0268":0.327,"U+0269":0.279,"U+026A":0.386,"U+026B":0.404,"U+026C":0.405,"U+026D":0.278,"U+026E":0.632,"U+026F":0.827,"U+0270":0.827,"U+0271":0.831,"U+0272":0.555,"U+0273":0.555,"U+0274":0.539,"U+0275":0.534,"U+0276":0.697,"U+0277":0.729,"U+0278":0.71,"U+0279":0.389,"U+027A":0.389,"U+027B":0.389,"U+027D":0.389,"U+027E":0.373,"U+0280":0.513,"U+0281":0.513,"U+0282":0.426,"U+0283":0.27,"U+0284":0.314,"U+0287":0.373,"U+0288":0.373,"U+0289":0.549,"U+028A":0.536,"U+028B":0.542,"U+028C":0.505,"U+028D":0.753,"U+028E":0.505,"U+028F":0.456,"U+0290":0.448,"U+0291":0.486,"U+0292":0.449,"U+0294":0.436,"U+0295":0.436,"U+0298":0.509,"U+0299":0.51,"U+029C":0.562,"U+029D":0.359,"U+029E":0.531,"U+029F":0.408,"U+02A1":0.438,"U+02A2":0.438,"U+02A4":0.875,"U+02A6":0.663,"U+02A7":0.573,"U+02B0":0.372,"U+02B1":0.372,"U+02B2":0.183,"U+02B3":0.256,"U+02B7":0.507,"U+02B8":0.342,"U+02B9":0.297,"U+02BB":0.297,"U+02BC":0.297,"U+02BE":0.176,"U+02BF":0.176,"U+02C0":0.335,"U+02C1":0.335,"U+02C6":0.536,"U+02C7":0.536,"U+02C8":0.142,"U+02C9":0.296,"U+02CA":0.225,"U+02CB":0.225,"U+02CC":0.142,"U+02D0":0.254,"U+02D1":0.254,"U+02D8":0.536,"U+02D9":0.536,"U+02DA":0.536,"U+02DB":0.536,"U+02DC":0.536,"U+02DD":0.536,"U+02DE":0.213,"U+02E0":0.342,"U+02E1":0.182,"U+02E2":0.286,"U+02E3":0.364,"U+02E4":0.335,"U+0300":0.0,"U+0301":0.0,"U+0302":0.0,"U+0303":0.0,"U+0304":0.0,"U+0305":0.0,"U+0306":0.0,"U+0307":0.0,"U+0308":0.0,"U+0309":0.0,"U+030A":0.0,"U+030B":0.0,"U+030C":0.0,"U+030D":0.0,"U+030F":0.0,"U+0310":0.0,"U+0311":0.0,"U+0312":0.0,"U+0313":0.0,"U+0318":0.0,"U+0319":0.0,"U+031A":0.0,"U+031B":0.0,"U+031C":0.0,"U+031D":0.0,"U+031E":0.0,"U+031F":0.0,"U+0320":0.0,"U+0323":0.0,"U+0324":0.0,"U+0325":0.0,"U+0326":0.0,"U+0327":0.0,"U+0328":0.0,"U+0329":0.0,"U+032A":0.0,"U+032C":0.0,"U+032E":0.0,"U+032F":0.0,"U+0330":0.0,"U+0331":0.0,"U+0332":0.0,"U+0334":0.0,"U+0339":0.0,"U+033A":0.0,"U+033B":0.0,"U+033C":0.0,"U+033D":0.0,"U+0342":0.0,"U+0343":0.0,"U+0344":0.0,"U+0345":0.0,"U+034F":0.0,"U+0358":0.0,"U+035F":0.0,"U+0361":0.0,"U+0374":0.289,"U+0375":0.288,"U+037A":0.557,"U+037E":0.297,"U+0384":0.557,"U+0385":0.557,"U+0386":0.605,"U+0387":0.297,"U+0388":0.648,"U+0389":0.777,"U+038A":0.414,"U+038C":0.783,"U+038E":0.701,"U+038F":0.817,"U+0390":0.279,"U+0391":0.552,"U+0392":0.596,"U+0393":0.498,"U+0394":0.582,"U+0395":0.528,"U+0396":0.527,"U+0397":0.656,"U+0398":0.663,"U+0399":0.3,"U+039A":0.601,"U+039B":0.537,"U+039C":0.745,"U+039D":0.646,"U+039E":0.548,"U+039F":0.663,"U+03A0":0.652,"U+03A1":0.587,"U+03A3":0.527,"U+03A4":0.534,"U+03A5":0.515,"U+03A6":0.737,"U+03A7":0.552,"U+03A8":0.717,"U+03A9":0.701,"U+03AA":0.3,"U+03AB":0.515,"U+03AC":0.568,"U+03AD":0.425,"U+03AE":0.543,"U+03AF":0.279,"U+03B0":0.523,"U+03B1":0.568,"U+03B2":0.577,"U+03B3":0.512,"U+03B4":0.525,"U+03B5":0.425,"U+03B6":0.442,"U+03B7":0.543,"U+03B8":0.529,"U+03B9":0.279,"U+03BA":0.512,"U+03BB":0.469,"U+03BC":0.559,"U+03BD":0.502,"U+03BE":0.443,"U+03BF":0.532,"U+03C0":0.604,"U+03C1":0.554,"U+03C2":0.455,"U+03C3":0.56,"U+03C4":0.472,"U+03C5":0.523,"U+03C6":0.702,"U+03C7":0.487,"U+03C8":0.71,"U+03C9":0.719,"U+03CA":0.279,"U+03CB":0.523,"U+03CC":0.532,"U+03CD":0.523,"U+03CE":0.719,"U+03D0":0.567,"U+03D1":0.53,"U+03D5":0.702,"U+03D7":0.519,"U+03D9":0.534,"U+03DB":0.481,"U+03DD":0.415,"U+03E1":0.515,"U+0400":0.528,"U+0401":0.528,"U+0402":0.671,"U+0403":0.498,"U+0404":0.569,"U+0405":0.532,"U+0406":0.3,"U+0407":0.3,"U+0408":0.495,"U+0409":0.892,"U+040A":0.905,"U+040B":0.687,"U+040C":0.601,"U+040D":0.664,"U+040E":0.53,"U+040F":0.652,"U+0410":0.552,"U+0411":0.574,"U+0412":0.596,"U+0413":0.498,"U+0414":0.655,"U+0415":0.528,"U+0416":0.863,"U+0417":0.542,"U+0418":0.664,"U+0419":0.664,"U+041A":0.601,"U+041B":0.648,"U+041C":0.745,"U+041D":0.656,"U+041E":0.663,"U+041F":0.652,"U+0420":0.587,"U+0421":0.569,"U+0422":0.534,"U+0423":0.53,"U+0424":0.764,"U+0425":0.552,"U+0426":0.666,"U+0427":0.614,"U+0428":0.869,"U+0429":0.892,"U+042A":0.697,"U+042B":0.836,"U+042C":0.589,"U+042D":0.558,"U+042E":0.925,"U+042F":0.606,"U+0430":0.554,"U+0431":0.529,"U+0432":0.501,"U+0433":0.419,"U+0434":0.544,"U+0435":0.498,"U+0436":0.738,"U+0437":0.442,"U+0438":0.546,"U+0439":0.546,"U+043A":0.531,"U+043B":0.558,"U+043C":0.682,"U+043D":0.562,"U+043E":0.533,"U+043F":0.555,"U+0440":0.555,"U+0441":0.444,"U+0442":0.831,"U+0443":0.505,"U+0444":0.748,"U+0445":0.498,"U+0446":0.578,"U+0447":0.528,"U+0448":0.827,"U+0449":0.859,"U+044A":0.566,"U+044B":0.731,"U+044C":0.491,"U+044D":0.465,"U+044E":0.756,"U+044F":0.519,"U+0450":0.498,"U+0451":0.498,"U+0452":0.562,"U+0453":0.419,"U+0454":0.444,"U+0455":0.426,"U+0456":0.269,"U+0457":0.269,"U+0458":0.27,"U+0459":0.771,"U+045A":0.774,"U+045B":0.55,"U+045C":0.531,"U+045D":0.546,"U+045E":0.505,"U+045F":0.546,"U+0462":0.615,"U+0463":0.772,"U+0472":0.663,"U+0473":0.533,"U+0474":0.551,"U+0475":0.512,"U+0490":0.498,"U+0491":0.419,"U+0492":0.5,"U+0493":0.418,"U+0496":0.887,"U+0497":0.793,"U+0498":0.542,"U+0499":0.442,"U+049A":0.646,"U+049B":0.565,"U+04A0":0.718,"U+04A1":0.655,"U+04A2":0.67,"U+04A3":0.596,"U+04AA":0.569,"U+04AB":0.444,"U+04AE":0.515,"U+04AF":0.505,"U+04B0":0.515,"U+04B1":0.504,"U+04B2":0.563,"U+04B3":0.495,"U+04B6":0.615,"U+04B7":0.563,"U+04BA":0.614,"U+04BB":0.549,"U+04C0":0.3,"U+04C1":0.863,"U+04C2":0.738,"U+04CF":0.279,"U+04D0":0.552,"U+04D1":0.554,"U+04D4":0.843,"U+04D5":0.754,"U+04D6":0.528,"U+04D7":0.498,"U+04D8":0.672,"U+04D9":0.494,"U+04E2":0.664,"U+04E3":0.546,"U+04E6":0.663,"U+04E7":0.533,"U+04E8":0.663,"U+04E9":0.533,"U+04EE":0.53,"U+04EF":0.505,"U+04F2":0.53,"U+04F3":0.505,"U+1D25":0.555,"U+1D43":0.367,"U+1D47":0.371,"U+1D48":0.382,"U+1D49":0.333,"U+1D4A":0.333,"U+1D4D":0.367,"U+1D4F":0.36,"U+1D50":0.555,"U+1D52":0.359,"U+1D56":0.371,"U+1D57":0.253,"U+1D58":0.367,"U+1D5B":0.342,"U+1D9C":0.297,"U+1DA0":0.227,"U+1DBB":0.302,"U+1E02":0.596,"U+1E03":0.555,"U+1E06":0.596,"U+1E07":0.555,"U+1E0A":0.625,"U+1E0B":0.547,"U+1E0C":0.625,"U+1E0D":0.547,"U+1E0E":0.625,"U+1E0F":0.547,"U+1E10":0.625,"U+1E11":0.547,"U+1E16":0.528,"U+1E17":0.498,"U+1E1E":0.508,"U+1E1F":0.332,"U+1E20":0.614,"U+1E21":0.548,"U+1E24":0.656,"U+1E25":0.55,"U+1E26":0.656,"U+1E27":0.55,"U+1E28":0.656,"U+1E29":0.55,"U+1E2A":0.656,"U+1E2B":0.55,"U+1E32":0.601,"U+1E33":0.531,"U+1E34":0.601,"U+1E35":0.531,"U+1E36":0.504,"U+1E37":0.279,"U+1E38":0.504,"U+1E39":0.279,"U+1E3A":0.504,"U+1E3B":0.279,"U+1E3E":0.745,"U+1E3F":0.831,"U+1E40":0.745,"U+1E41":0.831,"U+1E42":0.745,"U+1E43":0.831,"U+1E44":0.646,"U+1E45":0.555,"U+1E46":0.646,"U+1E47":0.555,"U+1E48":0.646,"U+1E49":0.555,"U+1E52":0.663,"U+1E53":0.533,"U+1E56":0.587,"U+1E57":0.555,"U+1E58":0.601,"U+1E59":0.389,"U+1E5A":0.601,"U+1E5B":0.389,"U+1E5C":0.601,"U+1E5D":0.389,"U+1E5E":0.601,"U+1E5F":0.389,"U+1E60":0.532,"U+1E61":0.426,"U+1E62":0.532,"U+1E63":0.426,"U+1E66":0.532,"U+1E67":0.426,"U+1E6A":0.534,"U+1E6B":0.373,"U+1E6C":0.534,"U+1E6D":0.373,"U+1E6E":0.534,"U+1E6F":0.373,"U+1E7E":0.561,"U+1E7F":0.505,"U+1E80":0.798,"U+1E81":0.753,"U+1E82":0.798,"U+1E83":0.753,"U+1E84":0.798,"U+1E85":0.753,"U+1E8E":0.515,"U+1E8F":0.505,"U+1E90":0.527,"U+1E91":0.447,"U+1E92":0.527,"U+1E93":0.447,"U+1E94":0.527,"U+1E95":0.447,"U+1E96":0.55,"U+1E97":0.373,"U+1E9E":0.676,"U+1EA0":0.552,"U+1EA1":0.554,"U+1EA2":0.552,"U+1EA3":0.554,"U+1EA4":0.552,"U+1EA5":0.554,"U+1EA6":0.552,"U+1EA7":0.554,"U+1EA8":0.552,"U+1EA9":0.554,"U+1EAA":0.552,"U+1EAB":0.554,"U+1EAC":0.552,"U+1EAD":0.554,"U+1EAE":0.552,"U+1EAF":0.554,"U+1EB0":0.552,"U+1EB1":0.554,"U+1EB2":0.552,"U+1EB3":0.554,"U+1EB4":0.552,"U+1EB5":0.554,"U+1EB6":0.552,"U+1EB7":0.554,"U+1EB8":0.528,"U+1EB9":0.498,"U+1EBA":0.528,"U+1EBB":0.498,"U+1EBC":0.528,"U+1EBD":0.498,"U+1EBE":0.528,"U+1EBF":0.498,"U+1EC0":0.528,"U+1EC1":0.498,"U+1EC2":0.528,"U+1EC3":0.498,"U+1EC4":0.528,"U+1EC5":0.498,"U+1EC6":0.528,"U+1EC7":0.498,"U+1EC8":0.3,"U+1EC9":0.269,"U+1ECA":0.3,"U+1ECB":0.269,"U+1ECC":0.663,"U+1ECD":0.533,"U+1ECE":0.663,"U+1ECF":0.533,"U+1ED0":0.663,"U+1ED1":0.533,"U+1ED2":0.663,"U+1ED3":0.533,"U+1ED4":0.663,"U+1ED5":0.533,"U+1ED6":0.663,"U+1ED7":0.533,"U+1ED8":0.663,"U+1ED9":0.533,"U+1EDA":0.663,"U+1EDB":0.54,"U+1EDC":0.663,"U+1EDD":0.54,"U+1EDE":0.663,"U+1EDF":0.54,"U+1EE0":0.663,"U+1EE1":0.54,"U+1EE2":0.663,"U+1EE3":0.54,"U+1EE4":0.647,"U+1EE5":0.546,"U+1EE6":0.647,"U+1EE7":0.546,"U+1EE8":0.67,"U+1EE9":0.57,"U+1EEA":0.67,"U+1EEB":0.57,"U+1EEC":0.67,"U+1EED":0.57,"U+1EEE":0.67,"U+1EEF":0.57,"U+1EF0":0.67,"U+1EF1":0.57,"U+1EF2":0.515,"U+1EF3":0.505,"U+1EF4":0.515,"U+1EF5":0.505,"U+1EF6":0.515,"U+1EF7":0.505,"U+1EF8":0.515,"U+1EF9":0.505,"U+1F00":0.568,"U+1F01":0.568,"U+1F02":0.568,"U+1F03":0.568,"U+1F04":0.568,"U+1F05":0.568,"U+1F06":0.568,"U+1F07":0.568,"U+1F08":0.64,"U+1F09":0.64,"U+1F0A":0.81,"U+1F0B":0.81,"U+1F0C":0.81,"U+1F0D":0.81,"U+1F0E":0.68,"U+1F0F":0.68,"U+1F10":0.425,"U+1F11":0.425,"U+1F12":0.425,"U+1F13":0.425,"U+1F14":0.425,"U+1F15":0.425,"U+1F18":0.687,"U+1F19":0.687,"U+1F1A":0.846,"U+1F1B":0.846,"U+1F1C":0.846,"U+1F1D":0.846,"U+1F20":0.543,"U+1F21":0.543,"U+1F22":0.543,"U+1F23":0.543,"U+1F24":0.543,"U+1F25":0.543,"U+1F26":0.543,"U+1F27":0.543,"U+1F28":0.815,"U+1F29":0.815,"U+1F2A":0.974,"U+1F2B":0.974,"U+1F2C":0.974,"U+1F2D":0.974,"U+1F2E":0.869,"U+1F2F":0.869,"U+1F30":0.279,"U+1F31":0.279,"U+1F32":0.279,"U+1F33":0.279,"U+1F34":0.279,"U+1F35":0.279,"U+1F36":0.279,"U+1F37":0.279,"U+1F38":0.459,"U+1F39":0.459,"U+1F3A":0.618,"U+1F3B":0.618,"U+1F3C":0.618,"U+1F3D":0.618,"U+1F3E":0.513,"U+1F3F":0.513,"U+1F40":0.532,"U+1F41":0.532,"U+1F42":0.532,"U+1F43":0.532,"U+1F44":0.532,"U+1F45":0.532,"U+1F48":0.82,"U+1F49":0.811,"U+1F4A":0.981,"U+1F4B":0.981,"U+1F4C":0.981,"U+1F4D":0.981,"U+1F50":0.523,"U+1F51":0.523,"U+1F52":0.523,"U+1F53":0.523,"U+1F54":0.523,"U+1F55":0.523,"U+1F56":0.523,"U+1F57":0.523,"U+1F59":0.734,"U+1F5B":0.891,"U+1F5D":0.911,"U+1F5F":0.788,"U+1F60":0.719,"U+1F61":0.719,"U+1F62":0.719,"U+1F63":0.719,"U+1F64":0.719,"U+1F65":0.719,"U+1F66":0.719,"U+1F67":0.719,"U+1F68":0.858,"U+1F69":0.849,"U+1F6A":1.02,"U+1F6B":1.02,"U+1F6C":1.02,"U+1F6D":1.02,"U+1F6E":0.894,"U+1F6F":0.894,"U+1F70":0.568,"U+1F71":0.568,"U+1F72":0.425,"U+1F73":0.425,"U+1F74":0.543,"U+1F75":0.543,"U+1F76":0.279,"U+1F77":0.279,"U+1F78":0.532,"U+1F79":0.532,"U+1F7A":0.523,"U+1F7B":0.523,"U+1F7C":0.719,"U+1F7D":0.719,"U+1F80":0.568,"U+1F81":0.568,"U+1F82":0.568,"U+1F83":0.568,"U+1F84":0.568,"U+1F85":0.568,"U+1F86":0.568,"U+1F87":0.568,"U+1F88":0.919,"U+1F89":0.919,"U+1F8A":1.089,"U+1F8B":1.089,"U+1F8C":1.089,"U+1F8D":1.089,"U+1F8E":0.959,"U+1F8F":0.959,"U+1F90":0.543,"U+1F91":0.543,"U+1F92":0.543,"U+1F93":0.543,"U+1F94":0.543,"U+1F95":0.543,"U+1F96":0.543,"U+1F97":0.543,"U+1F98":1.094,"U+1F99":1.096,"U+1F9A":1.253,"U+1F9B":1.253,"U+1F9C":1.253,"U+1F9D":1.253,"U+1F9E":1.148,"U+1F9F":1.148,"U+1FA0":0.719,"U+1FA1":0.719,"U+1FA2":0.719,"U+1FA3":0.719,"U+1FA4":0.719,"U+1FA5":0.719,"U+1FA6":0.719,"U+1FA7":0.719,"U+1FA8":1.137,"U+1FA9":1.137,"U+1FAA":1.299,"U+1FAB":1.299,"U+1FAC":1.299,"U+1FAD":1.299,"U+1FAE":1.173,"U+1FAF":1.173,"U+1FB0":0.568,"U+1FB1":0.568,"U+1FB2":0.568,"U+1FB3":0.568,"U+1FB4":0.568,"U+1FB6":0.568,"U+1FB7":0.568,"U+1FB8":0.552,"U+1FB9":0.552,"U+1FBA":0.605,"U+1FBB":0.605,"U+1FBC":0.831,"U+1FBD":0.557,"U+1FBE":0.279,"U+1FBF":0.557,"U+1FC0":0.557,"U+1FC1":0.557,"U+1FC2":0.543,"U+1FC3":0.543,"U+1FC4":0.543,"U+1FC6":0.543,"U+1FC7":0.543,"U+1FC8":0.654,"U+1FC9":0.645,"U+1FCA":0.782,"U+1FCB":0.771,"U+1FCC":0.935,"U+1FCD":0.557,"U+1FCE":0.557,"U+1FCF":0.557,"U+1FD0":0.279,"U+1FD1":0.279,"U+1FD2":0.279,"U+1FD3":0.279,"U+1FD6":0.279,"U+1FD7":0.279,"U+1FD8":0.3,"U+1FD9":0.3,"U+1FDA":0.426,"U+1FDB":0.417,"U+1FDD":0.557,"U+1FDE":0.557,"U+1FDF":0.557,"U+1FE0":0.523,"U+1FE1":0.523,"U+1FE2":0.523,"U+1FE3":0.523,"U+1FE4":0.554,"U+1FE5":0.554,"U+1FE6":0.523,"U+1FE7":0.523,"U+1FE8":0.515,"U+1FE9":0.515,"U+1FEA":0.701,"U+1FEB":0.683,"U+1FEC":0.747,"U+1FED":0.557,"U+1FEE":0.557,"U+1FEF":0.557,"U+1FF2":0.719,"U+1FF3":0.719,"U+1FF4":0.719,"U+1FF6":0.719,"U+1FF7":0.719,"U+1FF8":0.776,"U+1FF9":0.753,"U+1FFA":0.785,"U+1FFB":0.777,"U+1FFC":0.957,"U+1FFD":0.557,"U+1FFE":0.557,"U+2007":0.512,"U+2009":0.1,"U+200A":0.02,"U+200B":0.0,"U+2010":0.322,"U+2011":0.322,"U+2012":0.512,"U+2013":0.464,"U+2014":0.772,"U+2015":0.772,"U+2016":0.448,"U+2017":0.48,"U+2018":0.297,"U+2019":0.297,"U+201A":0.297,"U+201B":0.297,"U+201C":0.523,"U+201D":0.523,"U+201E":0.523,"U+2020":0.494,"U+2021":0.494,"U+2022":0.335,"U+2026":0.978,"U+202F":0.12,"U+2030":1.209,"U+2032":0.297,"U+2033":0.523,"U+2035":0.297,"U+2039":0.275,"U+203A":0.275,"U+203C":0.612,"U+203D":0.461,"U+203E":0.48,"U+203F":0.566,"U+2044":0.095,"U+2047":0.861,"U+2048":0.75,"U+2049":0.739,"U+2070":0.379,"U+2071":0.182,"U+2074":0.365,"U+2075":0.362,"U+2076":0.362,"U+2077":0.365,"U+2078":0.364,"U+2079":0.364,"U+207A":0.364,"U+207B":0.364,"U+207C":0.364,"U+207D":0.259,"U+207E":0.257,"U+207F":0.372,"U+2080":0.379,"U+2081":0.379,"U+2082":0.365,"U+2083":0.362,"U+2084":0.365,"U+2085":0.362,"U+2086":0.362,"U+2087":0.365,"U+2088":0.364,"U+2089":0.364,"U+208A":0.364,"U+208B":0.364,"U+208C":0.364,"U+208D":0.259,"U+208E":0.257,"U+20A1":0.512,"U+20A3":0.53,"U+20A4":0.512,"U+20A6":0.512,"U+20A7":0.512,"U+20A9":0.507,"U+20AB":0.512,"U+20AC":0.512,"U+20AE":0.529,"U+20B1":0.512,"U+20B2":0.512,"U+20B4":0.507,"U+20B5":0.512,"U+20B8":0.529,"U+20B9":0.512,"U+20BA":0.512,"U+20BD":0.516,"U+2105":0.814,"U+2113":0.457,"U+2116":0.929,"U+2117":0.672,"U+2120":0.647,"U+2122":0.657}}}
@@ -13,6 +13,12 @@ module Ea
13
13
  attribute :relationship_ref, :string
14
14
  attribute :source_element_ref, :string
15
15
  attribute :target_element_ref, :string
16
+ # Crossing-carrier key reproducing EA's exported XMI link order
17
+ # (not asserted to be native paint order). QEA input:
18
+ # [start placement Instance_ID, Connector_ID]; XMI input: [rank in
19
+ # the diagram's child order]. Keys of different lengths are never
20
+ # compared. nil or []: unresolved, no bridge decision.
21
+ attribute :paint_order, :integer, collection: true
16
22
  attribute :source_duid, :string
17
23
  attribute :target_duid, :string
18
24
  attribute :source_edge, :integer
@@ -59,6 +65,7 @@ module Ea
59
65
  map "relationshipRef", to: :relationship_ref
60
66
  map "sourceElementRef", to: :source_element_ref
61
67
  map "targetElementRef", to: :target_element_ref
68
+ map "paintOrder", to: :paint_order
62
69
  map "sourceDuid", to: :source_duid
63
70
  map "isSubstitutable", to: :is_substitutable
64
71
  map "targetDuid", to: :target_duid
@@ -195,6 +195,7 @@ module Ea
195
195
  set_stored_ray_origins(model, source, target, geom)
196
196
  model.style[:association_ray_outline] = true if model.connector_type == "Association"
197
197
  model.style[:stored_origin_ray] = true if stored_origin_ray?(model, source, target)
198
+ model.style[:centered_origin_ray] = true if centered_origin_ray?(model, source, target)
198
199
  model
199
200
  end
200
201
 
@@ -226,9 +227,13 @@ module Ea
226
227
  # stored origins lie inside their own outlines. Its clipped row is
227
228
  # authored geometry, even when it coincides with a header divider.
228
229
  def stored_origin_ray?(model, source, target)
229
- style = model.style.to_h
230
- return false unless model.connector_type == "Generalization" &&
231
- style[:lwidth] == "2" && association_ray_style?(style)
230
+ association_ray_style?(model.style.to_h) && centered_origin_ray?(model, source, target)
231
+ end
232
+
233
+ # Direct Generalizations retain offsets from each classifier's center
234
+ # when rendering grows its stored logical rectangle.
235
+ def centered_origin_ray?(model, source, target)
236
+ return false unless model.connector_type == "Generalization" && model.style[:lwidth] == "2"
232
237
 
233
238
  [model.source_anchor, model.target_anchor].zip([source, target]).all? do |origin, box|
234
239
  inside_box?(origin, grown_bounds(box, 1))
@@ -136,6 +136,7 @@ module Ea
136
136
  obj_row.instance_id),
137
137
  diagram_id: IdNormalizer.from_guid(diagram_row.ea_guid),
138
138
  model_element_ref: ref_for_object(obj_row),
139
+ z_order: obj_row.sequence,
139
140
  bounds: bounds_from_rect(obj_row),
140
141
  style: style_hash,
141
142
  font_family: presence(font_style[:font]),
@@ -455,6 +456,9 @@ module Ea
455
456
  link_row.instance_id),
456
457
  diagram_id: IdNormalizer.from_guid(diagram_row.ea_guid),
457
458
  relationship_ref: ref_for_connector(link_row),
459
+ source_element_ref: unique_placement_ref(diagram_row.diagram_id, connector&.start_object_id),
460
+ target_element_ref: unique_placement_ref(diagram_row.diagram_id, connector&.end_object_id),
461
+ paint_order: paint_order_for(diagram_row.diagram_id, connector),
458
462
  connector_type: connector&.connector_type,
459
463
  direction: connector&.direction,
460
464
  source_stereotype: connector&.sourcestereotype,
@@ -933,6 +937,28 @@ module Ea
933
937
  objects.find { |o| o.ea_object_id == ea_object_id }
934
938
  end
935
939
 
940
+ # Key reproducing EA's exported XMI link order: start placement
941
+ # Instance_ID, then Connector_ID. [] without a unique start placement.
942
+ def paint_order_for(diagram_id, connector)
943
+ placement = unique_placement(diagram_id, connector&.start_object_id)
944
+ return [] unless placement&.instance_id && connector.connector_id
945
+
946
+ [placement.instance_id, connector.connector_id]
947
+ end
948
+
949
+ def unique_placement(diagram_id, ea_object_id)
950
+ return nil unless ea_object_id
951
+
952
+ placements = (database.diagram_objects_for(diagram_id) || [])
953
+ .select { |placement| placement.ea_object_id == ea_object_id }
954
+ placements.first if placements.one?
955
+ end
956
+
957
+ def unique_placement_ref(diagram_id, ea_object_id)
958
+ placement = unique_placement(diagram_id, ea_object_id)
959
+ IdNormalizer.synthetic("de", diagram_id, placement.instance_id) if placement
960
+ end
961
+
936
962
  # Compute the connection point on an element's edge for the
937
963
  # given side. EA's `EDGE` field on t_diagramlinks tells us
938
964
  # which edge the connector attaches to:
@@ -32,9 +32,11 @@ module Ea
32
32
  relationships: relationships,
33
33
  stereotypes: [],
34
34
  notes: notes,
35
+ instance_specifications: instance_specifications,
35
36
  diagrams: diagrams
36
37
  )
37
38
  apply_tagged_values(doc)
39
+ apply_receptions(doc)
38
40
  apply_stereotypes(doc)
39
41
  resolve_type_names(doc)
40
42
  doc
@@ -42,6 +44,13 @@ module Ea
42
44
 
43
45
  private
44
46
 
47
+ def apply_receptions(doc)
48
+ grouped = ReceptionBuilder.new(xmi_path).grouped_by_owner
49
+ doc.classifiers.each do |classifier|
50
+ classifier.operations.concat(grouped.fetch(classifier.id, []))
51
+ end
52
+ end
53
+
45
54
  # Attach stereotypes parsed from <xmi:Extension>/<elements>
46
55
  # to their owning classifiers and packages.
47
56
  def apply_stereotypes(doc)
@@ -90,27 +99,37 @@ module Ea
90
99
  end
91
100
  end
92
101
 
102
+ # Replaces each type reference with its in-model qualified
103
+ # name; references that are not classifiers (primitive hrefs,
104
+ # EA placeholder idrefs) take the type name EA stores in the
105
+ # extension block.
93
106
  def resolve_type_names(doc)
94
- # In the XMI, the <type xmi:idref=...> is the type
95
- # classifier's GUID. The property's type_name was
96
- # pre-populated by PropertyBuilder with the same idref;
97
- # we replace it with the in-model qualified name when
98
- # the referenced classifier is loaded.
99
107
  qualified_by_id = doc.classifiers.each_with_object({}) do |c, acc|
100
108
  acc[c.id] = c.qualified_name if c.id && c.qualified_name
101
109
  end
110
+ types = ExtensionTypes.from_path(xmi_path)
102
111
 
103
112
  doc.classifiers.each do |classifier|
104
113
  (classifier.properties || []).each do |prop|
105
- ref = prop.type_ref
106
- next if ref.nil? || ref.empty?
107
-
108
- resolved = qualified_by_id[ref]
109
- prop.type_name = resolved if resolved
114
+ prop.type_name = qualified_by_id[prop.type_ref] ||
115
+ types.attribute_type(prop.id) || prop.type_name
116
+ end
117
+ (classifier.operations || []).each do |op|
118
+ resolve_operation_types(op, qualified_by_id, types)
110
119
  end
111
120
  end
112
121
  end
113
122
 
123
+ def resolve_operation_types(operation, qualified_by_id, types)
124
+ operation.return_type_name = qualified_by_id[operation.return_type_name] ||
125
+ types.return_type(operation.id) ||
126
+ operation.return_type_name
127
+ operation.parameters.each do |param|
128
+ param.type_name = qualified_by_id[param.type_name] ||
129
+ types.parameter_type(param.id) || param.type_name
130
+ end
131
+ end
132
+
114
133
  def metadata
115
134
  @metadata ||= MetadataBuilder.new(root, xmi_path).build
116
135
  end
@@ -123,6 +142,10 @@ module Ea
123
142
  @classifiers ||= ClassifierBuilder.new(root).build_all
124
143
  end
125
144
 
145
+ def instance_specifications
146
+ @instance_specifications ||= InstanceBuilder.new(root, xmi_path, classifiers).build_all
147
+ end
148
+
126
149
  def relationships
127
150
  @relationships ||= RelationshipBuilder.new(root).build_all
128
151
  end
@@ -22,6 +22,14 @@ module Ea
22
22
  from_comments(comments, owner_id, kind: kind)
23
23
  end
24
24
 
25
+ # Documentation text from the element's Extension properties,
26
+ # the XMI counterpart of an EA element note.
27
+ def self.from_documentation(text, owner_id, kind: "documentation")
28
+ return [] if text.nil? || text.empty?
29
+
30
+ [new(owner_id).build(kind, text)]
31
+ end
32
+
25
33
  def self.from_comments(comments, owner_id, kind: "documentation")
26
34
  Array(comments).map { |c| new(owner_id).build(kind, c.body_element || c.body_attribute) }
27
35
  end
@@ -55,10 +55,20 @@ module Ea
55
55
  visibility: element.visibility,
56
56
  properties: PropertyBuilder.new.build_all_for(element),
57
57
  operations: OperationBuilder.new.build_all_for(element),
58
- annotations: AnnotationBuilder.from_element(element, id)
58
+ annotations: annotations_for(element, id)
59
59
  }
60
60
  end
61
61
 
62
+ def annotations_for(element, id)
63
+ AnnotationBuilder.from_element(element, id) +
64
+ AnnotationBuilder.from_documentation(documentation_by_id[id], id)
65
+ end
66
+
67
+ def documentation_by_id
68
+ @documentation_by_id ||=
69
+ (root.extension&.elements&.element || []).to_h { |e| [e.idref, e.properties&.documentation] }
70
+ end
71
+
62
72
  def enumeration_args(element)
63
73
  literals = element.owned_literal.map.with_index do |lit, idx|
64
74
  Ea::Model::EnumerationLiteral.new(
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "nokogiri"
4
+
5
+ module Ea
6
+ module Sources
7
+ module Xmi
8
+ class DiagramBuilder
9
+ # Ordered waypoints of the UMLDI edge EA exported for a connector
10
+ # on a diagram. A connector drawn by more than one edge in the same
11
+ # diagram, or by an edge with fewer than two waypoints, has no route.
12
+ class UmldiEdges
13
+ def initialize(xmi_path)
14
+ @xmi_path = xmi_path
15
+ end
16
+
17
+ def route_for(diagram_id, connector_id)
18
+ routes.dig(diagram_id, connector_id)
19
+ end
20
+
21
+ private
22
+
23
+ def routes
24
+ @routes ||= doc.xpath("//*[local-name()=\"Diagram\"]").to_h do |diagram|
25
+ [diagram["id"] || diagram["xmi:id"], diagram_routes(diagram)]
26
+ end
27
+ end
28
+
29
+ def diagram_routes(diagram)
30
+ edges = diagram.xpath("./ownedElement[@modelElement][waypoint]").group_by { |edge| edge["modelElement"] }
31
+ edges.each_with_object({}) do |(connector_id, same), acc|
32
+ points = same.one? ? waypoints(same.first) : []
33
+ acc[connector_id] = points if points.size >= 2
34
+ end
35
+ end
36
+
37
+ def waypoints(edge)
38
+ edge.xpath("./waypoint").map { |point| [Integer(point["x"]), Integer(point["y"])] }
39
+ end
40
+
41
+ def doc
42
+ Nokogiri::XML(File.read(@xmi_path))
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end