code: def glyph_order(keys, draw_order=[]):
      
      keys = sorted(keys)
      def order_fn(glyph):
          matches = [item for item in draw_order if glyph.startswith(item)]
          return ((draw_order.index(matches[0]), glyph) if matches else
                  (1e9+keys.index(glyph), glyph))
      return sorted(keys, key=order_fn)
docs: Orders a set of glyph handles using regular sort and an explicit
      sort order. The explicit draw order must take the form of a list
      of glyph names while the keys should be glyph names with a custom
      suffix. The draw order may only match subset of the keys and any
      matched items will take precedence over other entries.