docs: def _make_simple_distances():
      """
      This is a translation of the non-wildcard rules in
      http://www.unicode.org/cldr/charts/29/supplemental/language_matching.html.
  
      It defines a few functions to make the chart easy to mindlessly transcribe,
      instead of having to parse it out of idiosyncratic XML or HTML, which
      actually seems harder.
      """
      distances = {}
      def sym(desired, supported, strength):
          "Define a symmetric distance between languages."
          desired_t = tuple(desired.split('-'))
          supported_t = tuple(supported.split('-'))
          distances[desired_t, supported_t] = strength
          distances[supported_t, desired_t] = strength
  
      def one(desired, supported, strength):
          "Define a one-way distance between languages."
          desired_t = tuple(desired.split('-'))
          supported_t = tuple(supported.split('-'))
          distances[desired_t, supported_t] = strength
  
      def ok(desired, supported):
          "Define the most common type of link: a one-way distance of 10."
          one(desired, supported, 10)
  
      sym('no', 'nb', 1)
      sym('hr', 'bs', 4)
      sym('sh', 'bs', 4)
      sym('sr', 'bs', 4)
      sym('sh', 'hr', 4)
      sym('sr', 'hr', 4)
      sym('sh', 'sr', 4)
      sym('ssy', 'aa', 4)
      one('gsw', 'de', 4)
      one('lb', 'de', 4)
      sym('da', 'no', 8)
      sym('da', 'nb', 8)
      ok('ab', 'ru')
      ok('ach', 'en')
      ok('af', 'nl')
      ok('ak', 'en')
      ok('ay', 'es')
      ok('az', 'ru')
      ok('az-Latn', 'ru-Cyrl')
      ok('be', 'ru')
      ok('bem', 'en')
      ok('bh', 'hi')
      ok('bn', 'en')
      ok('bn-Beng', 'en-Latn')
      ok('br', 'fr')
      ok('ceb', 'fil')
      ok('chr', 'en')
      ok('ckb', 'ar')
      ok('co', 'fr')
      ok('crs', 'fr')
      ok('cy', 'en')
      ok('ee', 'en')
      ok('eo', 'en')
      ok('et', 'fi')
      ok('eu', 'es')
      ok('fo', 'da')
      ok('fy', 'nl')
      ok('ga', 'en')
      ok('gaa', 'en')
      ok('gd', 'en')
      ok('gl', 'es')
      ok('gn', 'es')
      ok('gu', 'hi')
      ok('ha', 'en')
      ok('haw', 'en')
      ok('ht', 'fr')
      ok('hy', 'ru')
      ok('hy-Armn', 'ru-Cyrl')
      ok('ia', 'en')
      ok('ig', 'en')
      ok('is', 'en')
      ok('jv', 'id')
      ok('ka-Geor', 'en-Latn')
      ok('ka', 'en')
      ok('kg', 'fr')
      ok('kk', 'ru')
      ok('km', 'en')
      ok('km-Khmr', 'en-Latn')
      ok('kn', 'en')
      ok('kn-Knda', 'en-Latn')
      ok('kri', 'en')
      ok('ku', 'tr')
      ok('ky', 'ru')
      ok('la', 'it')
      ok('lg', 'en')
      ok('ln', 'fr')
      ok('lo', 'en')
      ok('lo-Laoo', 'en-Latn')
      ok('loz', 'en')
      ok('lua', 'fr')
      ok('mfe', 'en')
      ok('mg', 'fr')
      ok('mi', 'en')
      ok('mk', 'bg')
      ok('ml', 'en')
      ok('ml-Mlym', 'en-Latn')
      ok('mn', 'ru')
      ok('mr', 'hi')
      ok('ms', 'id')
      ok('mt', 'en')
      ok('my', 'en')
      ok('my-Mymr', 'en-Latn')
      ok('ne', 'en')
      ok('ne-Deva', 'en-Latn')
      sym('nn', 'nb', 10)
      ok('nn', 'no')
      ok('nso', 'en')
      ok('ny', 'en')
      ok('nyn', 'en')
      ok('oc', 'fr')
      ok('om', 'en')
      ok('or', 'en')
      ok('or-Orya', 'en-Latn')
      ok('pa', 'en')
      ok('pa-Guru', 'en-Latn')
      ok('pcm', 'en')
      ok('ps', 'en')
      ok('ps-Arab', 'en-Latn')
      ok('qu', 'es')
      ok('rm', 'de')
      ok('rn', 'en')
      ok('rw', 'fr')
      ok('sa', 'hi')
      ok('sd', 'en')
      ok('sd-Arab', 'en-Latn')
      ok('si', 'en')
      ok('si-Sinh', 'en-Latn')
      ok('sn', 'en')
      ok('so', 'en')
      ok('sq', 'en')
      ok('st', 'en')
      ok('su', 'id')
      ok('sw', 'en')
      ok('ta', 'en')
      ok('ta-Taml', 'en-Latn')
      ok('te', 'en')
      ok('te-Telu', 'en-Latn')
      ok('tg', 'ru')
      ok('ti', 'en')
      ok('ti-Ethi', 'en-Latn')
      ok('tk', 'ru')
      ok('tk-Latn', 'ru-Cyrl')
      ok('tlh', 'en')
      ok('tn', 'en')
      ok('to', 'en')
      ok('tt', 'ru')
      ok('tum', 'en')
      ok('ug', 'zh')
      ok('ur', 'en')
      ok('ur-Arab', 'en-Latn')
      ok('uz', 'ru')
      ok('uz-Latn', 'ru-Cyrl')
      ok('wo', 'fr')
      ok('xh', 'en')
      ok('yi', 'en')
      ok('yi-Hebr', 'en-Latn')
      ok('yo', 'en')
      ok('zu', 'en')
      sym('sr-Latn', 'sr-Cyrl', 5)
      one('zh-Hans', 'zh-Hant', 15)
      one('zh-Hant', 'zh-Hans', 19)
      sym('zh-Hant-HK', 'zh-Hant-MO', 3)
  
      return distances