 #-----------------------------------------------------------------------------------------------------------
 @get_fallback_glyph = ( me, shape = 'square' ) ->
   # validate.svgttf_metrics me
+  '❶❷❸❹❺❻❼❽❾❿'
   validate.nonempty_text shape
   #.........................................................................................................
   width         = 3 * me.em_size // 4

    descender:    me.descender,
    glyphs:       glyphs }


#===========================================================================================================
# FONTFORGE
#-----------------------------------------------------------------------------------------------------------
@rewrite_with_fontforge = ( path ) ->
  help "^svgttf#0091 size before normalisation: #{CND.format_number @_size_from_path path} B"
  #.........................................................................................................
  command     = 'fontforge'

#-----------------------------------------------------------------------------------------------------------
@save_otjsfont = ( path, otjsfont ) ->
  # FS.writeFileSync path, buffer = otjsfont.toBuffer() # deprecated
  # buffer = Buffer.from otjsfont.toArrayBuffer()
  buffer = Buffer.from @_otjsfont_toArrayBuffer otjsfont
  FS.writeFileSync path, buffer
  return buffer.length

@_otjsfont_toArrayBuffer = ( otjsfont ) ->
  sfntTable = otjsfont.toTables();
  bytes     = sfntTable.encode();
  buffer    = new ArrayBuffer(bytes.length);
  intArray  = new Uint8Array(buffer);
  ```
  for (let i = 0; i < bytes.length; i++) {
      intArray[i] = bytes[i];
  }
  ```
  return buffer;

#-----------------------------------------------------------------------------------------------------------
@list_glyphs_in_otjsfont = ( otjsfont ) ->
