Вернуться к документам

AstroFont Руководство

Утилиты

Внедрите AstroFont в любой фронтенд-проект.

AstroFont включает семейства public-domain StarFont Sans и StarFont Serif для астрологических интерфейсов, отчетов, таблиц, наложений SVG и пользовательского интерфейса диаграмм. Это руководство превращает исходное руководство в формате PDF в путь реализации web-ready с загружаемыми ресурсами, CSS, сопоставлениями и примерами работы в браузере.

Покрытие глифов для планет, знаков, аспектов, углов и т. д.StarFont Sans — рекомендуемое по умолчанию семейство.Источник руководства: версия 1.2, 29 сентября 2010 г.

Стратегия внедрения фронтенда

Self-host файлы шрифтов, определите `@font-face` и сохраните все варианты глифов в одном файле сопоставления, чтобы диаграммы, таблицы и легенды имели один и тот же источник истины.

Используйте Sans для экранов UI-heavy, используйте Serif для поверхностей report-style и выставляйте глифы через крошечный компонент AstroGlyph вместо жесткого кодирования символов по всему приложению.

Поскольку шрифты являются контурными, они хорошо работают в современных браузерах, генерируемых PDF-файлах, тексте на холсте и server-rendered HTML.

Загрузите ресурсы

Шаг 1

Разместите шрифты в своем приложении

Поместите файлы `.woff2` в свой общедоступный каталог ресурсов и сохраните файлы `.ttf` в качестве резерва или для собственных конвейеров экспорта. Этот проект использует `/fonts/starfont/` и регистрирует оба семейства по всему миру.

@font-face {
  font-family: "StarFont Sans";
  src:
    url("/fonts/starfont/strfnsan.woff2") format("woff2"),
    url("/fonts/starfont/strfnsan.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "StarFont Serif";
  src:
    url("/fonts/starfont/strfnser.woff2") format("woff2"),
    url("/fonts/starfont/strfnser.ttf") format("truetype");
  font-display: swap;
}

Шаг 2

Централизуйте сопоставление глифов

Сохраняйте один файл сопоставления для тел, знаков и аспектов, чтобы во всех диаграммах, легендах, подсказках и средствах визуализации PDF использовались одни и те же символы. Приведенный ниже фрагмент — web-friendly и соответствует назначениям глифов, описанным в руководстве.

export const AstroFontBodyMapping = {
  Sun: "s",
  Moon: "d",
  Mercury: "f",
  Venus: "g",
  Mars: "h",
  Jupiter: "j",
  Saturn: "S",
  Uranus: "F",
  Neptune: "G",
  Pluto: "J",
  NorthNode: "k",
  SouthNode: "?",
  Ascendant: "1",
  MidHeaven: "3",
  Vertex: "!",
};

export const AstroFontSignMapping = {
  Aries: "x",
  Taurus: "c",
  Gemini: "v",
  Cancer: "b",
  Leo: "n",
  Virgo: "m",
  Libra: "X",
  Scorpio: "C",
  Sagittarius: "V",
  Capricorn: "B",
  Aquarius: "N",
  Pisces: "M",
};

export const AstroFontAspectMapping = {
  Conjunction: "q",
  Opposite: "p",
  Square: "t",
  Trine: "u",
  Sextile: "r",
  Inconjunct: "o",
  SemiSextile: "w",
  SemiSquare: "e",
  SesquiQuadrate: "i",
};

Шаг 3

Рендеринг глифов с помощью небольшого компонента

Обертывание глифа в компонент позволяет легко переключаться между шрифтами Sans и Serif, контролировать размер и прикреплять к символу доступные метки.

type AstroGlyphProps = {
  glyph: string;
  family?: "sans" | "serif";
  className?: string;
};

export function AstroGlyph({
  glyph,
  family = "sans",
  className = "",
}: AstroGlyphProps) {
  const fontFamily = family === "serif" ? '"StarFont Serif"' : '"StarFont Sans"';

  return (
    <span
      aria-hidden="true"
      className={className}
      style={{ fontFamily, lineHeight: 1 }}
    >
      {glyph}
    </span>
  );
}

StarFont Sans Тела и углы

Предварительный просмотр в реальном времени с использованием поставляемого веб-шрифта.

s
Sun
"s"
d
Moon
"d"
f
Mercury
"f"
g
Venus
"g"
h
Mars
"h"
j
Jupiter
"j"
S
Saturn
"S"
F
Uranus
"F"
G
Neptune
"G"
J
Pluto
"J"
k
North Node
"k"
?
South Node
"?"
1
ASC
"1"
3
MC
"3"
!
Vertex
"!"

StarFont Sans знаки зодиака

Предварительный просмотр в реальном времени с использованием поставляемого веб-шрифта.

x
Aries
"x"
c
Taurus
"c"
v
Gemini
"v"
b
Cancer
"b"
n
Leo
"n"
m
Virgo
"m"
X
Libra
"X"
C
Scorpio
"C"
V
Sagittarius
"V"
B
Capricorn
"B"
N
Aquarius
"N"
M
Pisces
"M"

StarFont Sans аспекты

Предварительный просмотр в реальном времени с использованием поставляемого веб-шрифта.

q
Conjunction
"q"
p
Opposition
"p"
t
Square
"t"
u
Trine
"u"
r
Sextile
"r"
o
Quincunx
"o"
w
Semisextile
"w"
e
Semisquare
"e"
i
Sesquiquadrate
"i"

StarFont Serif Тела и углы

Предварительный просмотр в реальном времени с использованием поставляемого веб-шрифта.

s
Sun
"s"
d
Moon
"d"
f
Mercury
"f"
g
Venus
"g"
h
Mars
"h"
j
Jupiter
"j"
S
Saturn
"S"
F
Uranus
"F"
G
Neptune
"G"
J
Pluto
"J"
k
North Node
"k"
?
South Node
"?"
1
ASC
"1"
3
MC
"3"
!
Vertex
"!"

StarFont Serif знаки зодиака

Предварительный просмотр в реальном времени с использованием поставляемого веб-шрифта.

x
Aries
"x"
c
Taurus
"c"
v
Gemini
"v"
b
Cancer
"b"
n
Leo
"n"
m
Virgo
"m"
X
Libra
"X"
C
Scorpio
"C"
V
Sagittarius
"V"
B
Capricorn
"B"
N
Aquarius
"N"
M
Pisces
"M"

Практические заметки для реальных проектов

  • Загрузите шрифт перед измерением меток диаграммы или составлением таблиц symbol-heavy.
  • Используйте Sans для информационных панелей и панелей инструментов, Serif для отчетов long-form или экспорта PDF.
  • Предпочитайте `.woff2` в Интернете и оставьте `.ttf` только для совместимости или последующего создания.
  • В руководстве также описаны альтернативные формы, такие как Луна «a», Уран «A», Плутон «H» и Козерог «Z».

Атрибуция источника

Это руководство основано на прилагаемом руководстве Мэтью Скалы по StarFont, в котором описываются шрифты, разработанные Энтони I.P. Оуэном и распространяемые в свободном доступе.

В PDF-файле отмечается, что StarFont Sans является рекомендуемым по умолчанию шрифтом, а StarFont Serif доступен для альтернативного стиля внутри того же документа или приложения.

Если при интеграции вам понадобится исходная ссылка, откройте файл прилагаемое руководство PDF.