// prettier-ignore
$SOURCE_MONO:
  "Consolas",
  "Courier",
  "Courier New",
  ;
// prettier-ignore
$SOURCE_SANS_EN:
  "Arial",
  "Helvetica",
  "Lucida Grande",
  "Lucida Sans Unicode",
  "Open Sans",
  "Segoe UI",
  "Tahoma",
  "Verdana",
  ;
// prettier-ignore
$SOURCE_SANS_SC:
  "Microsoft YaHei UI",
  "Microsoft YaHei",
  "微软雅黑",
  "NSimsun",
  "新宋体",
  "Simsun",
  "宋体",
  "Simhei",
  "黑体",
;
// prettier-ignore
$SOURCE_SANS_TC:
  "Microsoft Jhenghei",
  "微軟正黑體",
;
// prettier-ignore
$SOURCE_SANS_JP:
  "Hiragino Kaku Gothic Pro",
  "ヒラギノ角ゴ Pro W3",
  "MS Gothic",
  "ＭＳ ゴシック" ,
  "MS PGothic",
  "ＭＳ Ｐゴシック",
  "Meiryo",
  "メイリオ",
  "Meiryo UI",
  "メイリオUI",
  "Osaka",
;
// prettier-ignore
$SOURCE_SANS_KR:
  "Malgun Gothic",
  "맑은 고딕",
  ;

$TARGET_MONO_NORMAL: (
  0: "Cascadia Code",
  200: "Cascadia Code ExtraLight",
  300: "Cascadia Code Light",
  350: "Cascadia Code SemiLight",
  400: "Cascadia Code",
  600: "Cascadia Code SemiBold",
  700: "Cascadia Code Bold",
);
$TARGET_MONO_ITALIC: (
  0: "Cascadia Code Italic",
  200: "Cascadia Code ExtraLight Italic",
  300: "Cascadia Code Light Italic",
  350: "Cascadia Code SemiLight Italic",
  400: "Cascadia Code Italic",
  600: "Cascadia Code SemiBold Italic",
  700: "Cascadia Code Bold Italic",
);
$TARGET_SANS_EN_NORMAL: (
  0: "Roboto",
  100: "Roboto Thin",
  300: "Roboto Light",
  400: "Roboto",
  500: "Roboto Medium",
  700: "Roboto Bold",
  900: "Roboto Black",
);
$TARGET_SANS_EN_ITALIC: (
  0: "Roboto Italic",
  100: "Roboto Thin Italic",
  300: "Roboto Light Italic",
  400: "Roboto Italic",
  500: "Roboto Medium Italic",
  700: "Roboto Bold Italic",
  900: "Roboto Black Italic",
);
$TARGET_SANS_SC: (
  0: "Noto Sans CJK SC",
  100: "Noto Sans CJK SC Thin",
  200: "Noto Sans CJK SC Light",
  300: "Noto Sans CJK SC DemiLight",
  400: "Noto Sans CJK SC",
  500: "Noto Sans CJK SC Medium",
  700: "Noto Sans CJK SC Bold",
  900: "Noto Sans CJK SC Black",
);
$TARGET_SANS_TC: (
  0: "Noto Sans CJK TC",
  100: "Noto Sans CJK TC Thin",
  200: "Noto Sans CJK TC Light",
  300: "Noto Sans CJK TC DemiLight",
  400: "Noto Sans CJK TC",
  500: "Noto Sans CJK TC Medium",
  700: "Noto Sans CJK TC Bold",
  900: "Noto Sans CJK TC Black",
);
$TARGET_SANS_JP: (
  0: "Noto Sans CJK JP",
  100: "Noto Sans CJK JP Thin",
  200: "Noto Sans CJK JP Light",
  300: "Noto Sans CJK JP DemiLight",
  400: "Noto Sans CJK JP",
  500: "Noto Sans CJK JP Medium",
  700: "Noto Sans CJK JP Bold",
  900: "Noto Sans CJK JP Black",
);
$TARGET_SANS_KR: (
  0: "Noto Sans CJK KR",
  100: "Noto Sans CJK KR Thin",
  200: "Noto Sans CJK KR Light",
  300: "Noto Sans CJK KR DemiLight",
  400: "Noto Sans CJK KR",
  500: "Noto Sans CJK KR Medium",
  700: "Noto Sans CJK KR Bold",
  900: "Noto Sans CJK KR Black",
);

$FONTS_LATIN: (
  $SOURCE_MONO: (
    NORMAL: $TARGET_MONO_NORMAL,
    ITALIC: $TARGET_MONO_ITALIC,
  ),
  $SOURCE_SANS_EN: (
    NORMAL: $TARGET_SANS_EN_NORMAL,
    ITALIC: $TARGET_SANS_EN_ITALIC,
  ),
);
$FONTS_CJK: (
  $SOURCE_SANS_SC: $TARGET_SANS_SC,
  $SOURCE_SANS_TC: $TARGET_SANS_TC,
  $SOURCE_SANS_JP: $TARGET_SANS_JP,
  $SOURCE_SANS_KR: $TARGET_SANS_KR,
);

// Latin fonts
@each $SOURCES, $TARGET_GROUP in $FONTS_LATIN {
  @each $SOURCE in $SOURCES {
    @each $STYLE, $TARGETS in $TARGET_GROUP {
      @each $WEIGHT, $TARGET in $TARGETS {
        @font-face {
          font-family: $SOURCE;
          @if $WEIGHT != 0 {
            font-weight: $WEIGHT;
          }
          @if $STYLE == ITALIC {
            font-style: italic;
          }
          src: local($TARGET);
        }
      }
    }
  }
}
// CJK fonts
@each $SOURCES, $TARGETS in $FONTS_CJK {
  @each $SOURCE in $SOURCES {
    @each $WEIGHT, $TARGET in $TARGETS {
      @font-face {
        font-family: $SOURCE;
        @if $WEIGHT != 0 {
          font-weight: $WEIGHT;
        }
        src: local($TARGET);
      }
    }
  }
}
