code: def get_ipa_punctuation_list(locale):
      if locale is None:
          return sorted(list(DEFAULT_PUNCTUATION))
  
      validate_locale(locale)
  
      punct_set = set(DEFAULT_PUNCTUATION)
      # TODO @xueyang: verify potential mismatches with locale-specific punctuation sets used
      #  in nemo_text_processing.text_normalization.en.taggers.punctuation.py
      if locale in ["de-DE", "es-ES", "it-IT", "fr-FR"]:
          # ref: https://en.wikipedia.org/wiki/Guillemet#Uses
          punct_set.update(["«", "»", "‹", "›"])
      if locale == "de-DE":
          # ref: https://en.wikipedia.org/wiki/German_orthography#Punctuation
          punct_set.update(
              [
                  "„",  # double low-9 quotation mark, U+201E, decimal 8222
                  "“",  # left double quotation mark, U+201C, decimal 8220
                  "‚",  # single low-9 quotation mark, U+201A, decimal 8218
                  "‘",  # left single quotation mark, U+2018, decimal 8216
                  "‒",  # figure dash, U+2012, decimal 8210
                  "–",  # en dash, U+2013, decimal 8211
                  "—",  # em dash, U+2014, decimal 8212
              ]
          )
      if locale == "it-IT":
          # ref: https://en.wikipedia.org/wiki/German_orthography#Punctuation
          punct_set.update(
              [
                  "„",  # double low-9 quotation mark, U+201E, decimal 8222
                  "“",  # left double quotation mark, U+201C, decimal 8220
                  "‚",  # single low-9 quotation mark, U+201A, decimal 8218
                  "‘",  # left single quotation mark, U+2018, decimal 8216
                  "‒",  # figure dash, U+2012, decimal 8210
                  "–",  # en dash, U+2013, decimal 8211
                  "—",  # em dash, U+2014, decimal 8212
                  "ʴ",
                  "ʰ",
                  "ʱ",
                  "ʲ",
                  "ʷ",
                  "ˠ",
                  "ˤ",
                  "˞↓",
                  "↑",
                  "→",
                  "↗",
                  "↘",
                  "”",
                  "’",
                  "-",
              ]
          )
      elif locale == "es-ES":
          # ref: https://en.wikipedia.org/wiki/Spanish_orthography#Punctuation
          punct_set.update(["¿", "¡"])
      elif locale == "fr-FR":
          punct_set.update(
              [
                  "–",  # en dash, U+2013, decimal 8211
                  "“",  # left double quotation mark, U+201C, decimal 8220
                  "”",  # right double quotation mark, U+201D, decimal 8221
                  "…",  # horizontal ellipsis, U+2026, decimal 8230
                  "̀",  # combining grave accent, U+0300, decimal 768
                  "́",  # combining acute accent, U+0301, decimal 769
                  "̂",  # combining circumflex accent, U+0302, decimal 770
                  "̈",  # combining diaeresis, U+0308, decimal 776
                  "̧",  # combining cedilla, U+0327, decimal 807
              ]
          )
  
      punct_list = sorted(list(punct_set))
      return punct_list
  
label_desc: Use image node_id 4 for calling a global function with example usage: get_ipa_punctuation_list(locale) and returns: punct_list, sorted