
/**
 * Basic correction to CJK punctuation
 * ‘Biaodian’(zh) and ‘Yakumono’(ja)
 */

// * 1. Recommended (推薦)
// * 2. CNS (適用繁體的舊字形或國字標準字形字體)
// * 3. GB (中國國標)

/* Fullwidth full stop (．) */
// 1
@font-face {
  font-family: 'Biaodian Sans';
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local('MS Gothic'),
    local(SimSun);
  unicode-range: U+FF0E;
}

@font-face {
  font-family: 'Biaodian Serif';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local(STSong),
    local(SimSun);
  unicode-range: U+FF0E;
}

@font-face {
  font-family: 'Biaodian Pro Sans';
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local('MS Gothic'),
    local(SimSun);
  unicode-range: U+FF0E;
}

@font-face {
  font-family: 'Biaodian Pro Serif';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local(STSong),
    local(SimSun);
  unicode-range: U+FF0E;
}

// 2
@font-face {
  font-family: 'Biaodian Pro Sans CNS';
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local('MS Gothic'),
    local(SimSun);
  unicode-range: U+FF0E;
}

@font-face {
  font-family: 'Biaodian Pro Serif CNS';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local(STSong),
    local(SimSun);
  unicode-range: U+FF0E;
}

// 3
@font-face {
  font-family: 'Biaodian Pro Sans GB';
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local('MS Gothic'),
    local(SimSun);
  unicode-range: U+FF0E;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local(STSong),
    local(SimSun);
  unicode-range: U+FF0E;
}

/* Middle dot (·) */
// 1
@font-face {
  font-family: 'Biaodian Sans';
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local(SimSun);
  unicode-range: U+00B7;
}

@font-face {
  font-family: 'Biaodian Serif';
  src:
    local('Songti SC'),
    local(STSong),
    local('Heiti SC'),
    local(SimSun);
  unicode-range: U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Sans';
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local(SimSun);
  unicode-range: U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Serif';
  src:
    local('Songti SC'),
    local(STSong),
    local('Heiti SC'),
    local(SimSun);
  unicode-range: U+00B7;
}

// 2
@font-face {
  font-family: 'Biaodian Pro Sans CNS';
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local(SimSun);
  unicode-range: U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Serif CNS';
  src:
    local('Songti SC'),
    local(STSong),
    local('Heiti SC'),
    local(SimSun);
  unicode-range: U+00B7;
}

// 3
@font-face {
  font-family: 'Biaodian Pro Sans GB';
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local(SimSun);
  unicode-range: U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  src:
    local('Songti SC'),
    local(STSong),
    local('Heiti SC'),
    local(SimSun);
  unicode-range: U+00B7;
}

/* Em dash (——) */
// 1
@font-face {
  font-family: 'Biaodian Sans';
  src:
    $han-webfont,
    local('Hiragino Sans GB'),
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local('Microsoft Yahei'),
    local(SimSun);
  unicode-range: U+2014;
}

@font-face {
  font-family: 'Biaodian Serif';
  src:
    $han-webfont,
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local(STSong),
    local('Microsoft Yahei'),
    local(SimSun);
  unicode-range: U+2014;
}

@font-face {
  font-family: 'Yakumono Sans';
  src:
    $han-webfont,
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local('Arial Unicode MS'),
    local('MS Gothic');
  unicode-range: U+2014;
}

@font-face {
  font-family: 'Yakumono Serif';
  src:
    $han-webfont,
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('MS Mincho'),
    local('Microsoft Yahei');
  unicode-range: U+2014;
}

@font-face {
  font-family: 'Biaodian Pro Sans';
  src:
    $han-webfont,
    local('Hiragino Sans GB'),
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local('Microsoft Yahei'),
    local(SimSun);
  unicode-range: U+2014;
}

@font-face {
  font-family: 'Biaodian Pro Serif';
  src:
    $han-webfont,
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'), local(STSong),
    local('Microsoft Yahei'),
    local(SimSun);
  unicode-range: U+2014;
}

// 2
@font-face {
  font-family: 'Biaodian Pro Sans CNS';
  src:
    $han-webfont,
    local('Hiragino Sans GB'),
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local('Microsoft Yahei'),
    local(SimSun);
  unicode-range: U+2014;
}

@font-face {
  font-family: 'Biaodian Pro Serif CNS';
  src:
    $han-webfont,
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local(STSong),
    local('Microsoft Yahei'),
    local(SimSun);
  unicode-range: U+2014;
}

// 3
@font-face {
  font-family: 'Biaodian Pro Sans GB';
  src:
    $han-webfont,
    local('Hiragino Sans GB'),
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local('Microsoft Yahei'),
    local(SimSun);
  unicode-range: U+2014;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  src:
    $han-webfont,
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local(STSong),
    local('Microsoft Yahei'),
    local(SimSun);
  unicode-range: U+2014;
}

/* Ellipsis (……) */
// 1
@font-face {
  font-family: 'Biaodian Sans';
  src:
    $han-webfont,
    local('Hiragino Sans GB'),
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local(Meiryo),
    local('MS Gothic'),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+2026;
}

@font-face {
  font-family: 'Biaodian Serif';
  src:
    $han-webfont,
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local('MS Mincho'),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+2026;
}

@font-face {
  font-family: 'Yakumono Sans';
  src:
    $han-webfont,
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local(Meiryo),
    local('MS Gothic');
  unicode-range: U+2026;
}

@font-face {
  font-family: 'Yakumono Serif';
  src:
    $han-webfont,
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('MS Mincho');
  unicode-range: U+2026;
}

@font-face {
  font-family: 'Biaodian Pro Sans';
  src:
    $han-webfont,
    local('Hiragino Sans GB'),
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+2026;
}

@font-face {
  font-family: 'Biaodian Pro Serif';
  src:
    $han-webfont,
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+2026;
}

// 2
@font-face {
  font-family: 'Biaodian Pro Sans CNS';
  src:
    $han-webfont,
    local('Hiragino Sans GB'),
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+2026;
}

@font-face {
  font-family: 'Biaodian Pro Serif CNS';
  src:
    $han-webfont,
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local(STSongti),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+2026;
}

// 3
@font-face {
  font-family: 'Biaodian Pro Sans GB';
  src:
    $han-webfont,
    local('Hiragino Sans GB'),
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+2026;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  src:
    $han-webfont,
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Songti SC'),
    local(STSongti),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+2026;
}

/* Curve quotes (“‘’”, GB-only) */
// 3
@font-face {
  font-family: 'Biaodian Pro Sans GB';
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+201C-201D, U+2018-2019;
}

@font-face {
  font-family: 'Biaodian Pro Sans GB';
  font-weight: bold;
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+201C-201D, U+2018-2019;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  src:
    local('Lisong Pro'),
    local('Heiti SC'),
    local(STHeiti),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+201C-201D, U+2018-2019;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  font-weight: bold;
  src:
    local('Lisong Pro'),
    local('Heiti SC'),
    local(STHeiti),
    local(SimSun),
    local(PMingLiU);
  unicode-range: U+201C-201D, U+2018-2019;
}

/* Default emphasis mark (•) */
// 1
@font-face {
  font-family: 'Biaodian Sans';
  src:
    local(Georgia),
    local('Times New Roman'),
    local(Arial),
    local('Droid Sans Fallback');
  unicode-range: U+25CF;
}

@font-face {
  font-family: 'Biaodian Serif';
  src:
    local(Georgia),
    local('Times New Roman'),
    local(Arial),
    local('Droid Sans Fallback');
  unicode-range: U+25CF;
}

@font-face {
  font-family: 'Biaodian Pro Sans';
  src:
    local(Georgia),
    local('Times New Roman'),
    local(Arial),
    local('Droid Sans Fallback');
  unicode-range: U+25CF;
}

@font-face {
  font-family: 'Biaodian Pro Serif';
  src:
    local(Georgia),
    local('Times New Roman'),
    local(Arial),
    local('Droid Sans Fallback');
  unicode-range: U+25CF;
}

// 2
@font-face {
  font-family: 'Biaodian Pro Sans CNS';
  src:
    local(Georgia),
    local('Times New Roman'),
    local(Arial),
    local('Droid Sans Fallback');
  unicode-range: U+25CF;
}

@font-face {
  font-family: 'Biaodian Pro Serif CNS';
  src:
    local(Georgia),
    local('Times New Roman'),
    local(Arial),
    local('Droid Sans Fallback');
  unicode-range: U+25CF;
}

// 3
@font-face {
  font-family: 'Biaodian Pro Sans GB';
  src:
    local(Georgia),
    local('Times New Roman'),
    local(Arial),
    local('Droid Sans Fallback');
  unicode-range: U+25CF;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  src:
    local(Georgia),
    local('Times New Roman'),
    local(Arial),
    local('Droid Sans Fallback');
  unicode-range: U+25CF;
}

/**
 * Advanced correction to Chinese Biaodian
 */

// * a. Period, comma, paused comma (。，、)
// * b. Colon, semicolon, question, exclam-
// *	  ation marks (；：？！)
// * c. En dash (fullwidth hyphen-minus),
// *    division slash, back slash (－／＼)
// *

// 1
@font-face {
  font-family: 'Biaodian Pro Sans';
  src:
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local('MS Gothic');
  unicode-range:
    U+3002, U+FF0C, U+3001, // a
    U+FF1B, U+FF1A, U+FF1F, U+FF01, // b
    U+FF0D, U+FF0F, U+FF3C // c;
}

@font-face {
  font-family: 'Biaodian Pro Serif';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('MS Mincho');
  unicode-range:
    U+3002, U+FF0C, U+3001, // a
    U+FF1B, U+FF1A, U+FF1F, U+FF01, // b
    U+FF0D, U+FF0F, U+FF3C // c;
}

// 2
@font-face {
  font-family: 'Biaodian Pro Sans CNS';
  src:
    local('Heiti TC'),
    local('Lihei Pro'),
    local('Microsoft Jhenghei'),
    local(PMingLiU);
  unicode-range:
    U+3002, U+FF0C, U+3001 // a;
}

@font-face {
  font-family: 'Biaodian Pro Sans CNS';
  src:
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local('Heiti TC'), local('Lihei Pro'),
    local('Microsoft Jhenghei'),
    local(PMingLiU),
    local('MS Gothic');
  unicode-range:
    U+FF1B, U+FF1A, U+FF1F, U+FF01 // b;
}

@font-face {
  font-family: 'Biaodian Pro Sans CNS';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('MS Mincho');
  unicode-range:
    U+FF0D, U+FF0F, U+FF3C // c;
}

@font-face {
  font-family: 'Biaodian Pro Serif CNS';
  src:
    local(STSongti-TC-Regular),
    local('Lisong Pro'),
    local('Heiti TC'),
    local(PMingLiU);
  unicode-range:
    U+3002, U+FF0C, U+3001 // a;
}

@font-face {
  font-family: 'Biaodian Pro Serif CNS';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local(PMingLiU),
    local('MS Mincho');
  unicode-range:
    U+FF1B, U+FF1A, U+FF1F, U+FF01, // b
    U+FF0D, U+FF0F, U+FF3C // c;
}

// 3
@font-face {
  font-family: 'Biaodian Pro Sans GB';
  src:
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local(SimSun),
    local('MS Gothic');
  unicode-range:
    U+3002, U+FF0C, U+3001, // a
    U+FF1B, U+FF1A, U+FF1F, U+FF01, // b
    U+FF0D, U+FF0F, U+FF3C // c;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  src:
    local('Songti SC'),
    local(STSongti),
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Hiragino Sans GB'),
    local('Heiti SC'),
    local(STHeiti),
    local(SimSun),
    local('MS Mincho');
  unicode-range:
    U+3002, U+FF0C, U+3001, // a
    U+FF1B, U+FF1A, U+FF1F, U+FF01 // b;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local(PMingLiU),
    local('MS Mincho');
  unicode-range:
    U+FF0D, U+FF0F, U+FF3C // c;
}

// * a. Quotes (「『』」)
// * b. Brackets (（）《》〈〉〔〕)
// *

@font-face {
  font-family: 'Biaodian Pro Sans';
  src:
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local('Yu Gothic'),
    local(YuGothic),
    local(SimSun),
    local(PMingLiU);
  unicode-range:
    U+300C-300F, // a
    U+300A-300B, U+3008-3009, U+FF08-FF09, U+3014-3015 // b;
}

@font-face {
  font-family: 'Biaodian Pro Serif';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Yu Mincho'),
    local(YuMincho),
    local(SimSun),
    local(PMingLiU);
  unicode-range:
    U+300C-300F, // a
    U+300A-300B, U+3008-3009, U+FF08-FF09, U+3014-3015 // b;
}

// 2
@font-face {
  font-family: 'Biaodian Pro Sans CNS';
  src:
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local('Yu Gothic'),
    local(YuGothic),
    local(SimSun),
    local(PMingLiU);
  unicode-range:
    U+300C-300F, // a
    U+300A-300B, U+3008-3009, U+FF08-FF09, U+3014-3015 // b;
}

@font-face {
  font-family: 'Biaodian Pro Serif CNS';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Yu Mincho'),
    local(YuMincho),
    local(SimSun),
    local(PMingLiU);
  unicode-range:
    U+300C-300F, // a
    U+300A-300B, U+3008-3009, U+FF08-FF09, U+3014-3015 // b;
}

// 3
@font-face {
  font-family: 'Biaodian Pro Sans GB';
  src:
    local('Hiragino Kaku Gothic ProN'),
    local('Hiragino Kaku Gothic Pro'),
    local('Yu Gothic'),
    local(YuGothic),
    local(SimSun),
    local(PMingLiU);
  unicode-range:
    U+300C-300F, // a
    U+300A-300B, U+3008-3009, U+FF08-FF09, U+3014-3015 // b;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  src:
    local('Hiragino Mincho ProN'),
    local('Hiragino Mincho Pro'),
    local('Yu Mincho'),
    local(YuMincho),
    local(SimSun),
    local(PMingLiU);
  unicode-range:
    U+300C-300F, // a
    U+300A-300B, U+3008-3009, U+FF08-FF09, U+3014-3015 // b;
}

/* Address solution to `unicode-range` unsupported
 * issues in Firefox.
 */
@font-face {
  font-family: 'Biaodian Basic';
  src: $han-webfont;
  unicode-range: U+2014, U+2026, U+00B7;
}
@font-face {
  font-family: 'Biaodian Basic';
  font-weight: bold;
  src: $han-webfont;
  unicode-range: U+2014, U+2026, U+00B7;
}

@font-face {
  font-family: 'Biaodian Sans';
  font-weight: bold;
  src: $han-webfont;
  unicode-range: U+2014, U+2026, U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Sans';
  font-weight: bold;
  src: $han-webfont;
  unicode-range: U+2014, U+2026, U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Sans';
  font-weight: bold;
  src: $han-webfont;
  unicode-range: U+2014, U+2026, U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Sans CNS';
  font-weight: bold;
  src: $han-webfont;
  unicode-range: U+2014, U+2026, U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Sans GB';
  font-weight: bold;
  src: $han-webfont;
  unicode-range: U+2014, U+2026, U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Serif';
  font-weight: bold;
  src: $han-webfont;
  unicode-range: U+2014, U+2026, U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Serif CNS';
  font-weight: bold;
  src: $han-webfont;
  unicode-range: U+2014, U+2026, U+00B7;
}

@font-face {
  font-family: 'Biaodian Pro Serif GB';
  font-weight: bold;
  src: $han-webfont;
  unicode-range: U+2014, U+2026, U+00B7;
}

