Skip to content

Commit

Permalink
refactor(edgeless): use public cdn for font by default (#7045)
Browse files Browse the repository at this point in the history
Close #6729
  • Loading branch information
Flrande committed May 14, 2024
1 parent 0d030d3 commit 5238dfe
Show file tree
Hide file tree
Showing 4 changed files with 188 additions and 5 deletions.
3 changes: 2 additions & 1 deletion packages/blocks/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,11 @@ export * from './root-block/index.js';
export * from './schemas.js';
export * from './specs/index.js';
export {
AffineCanvasTextFonts,
Bound,
BrushElementModel,
CanvasElementType,
CanvasTextFonts,
CommunityCanvasTextFonts,
ConnectorElementModel,
ConnectorMode,
ElementModel,
Expand Down
4 changes: 2 additions & 2 deletions packages/blocks/src/root-block/root-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import { type EmbedCardStyle, NoteDisplayMode } from '../_common/types.js';
import { matchFlavours } from '../_common/utils/model.js';
import { asyncFocusRichText } from '../_common/utils/selection.js';
import type { NoteBlockModel } from '../note-block/note-model.js';
import { CanvasTextFonts } from '../surface-block/consts.js';
import { CommunityCanvasTextFonts } from '../surface-block/consts.js';
import { EditPropsStore } from '../surface-block/managers/edit-session.js';
import {
copySelectedModelsCommand,
Expand Down Expand Up @@ -185,7 +185,7 @@ export class RootService extends BlockService<RootBlockModel> {
}

loadFonts() {
this.fontLoader.load(CanvasTextFonts);
this.fontLoader.load(CommunityCanvasTextFonts);
}

private _getLastNoteBlock() {
Expand Down
179 changes: 178 additions & 1 deletion packages/blocks/src/surface-block/consts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ export enum CanvasTextFontStyle {
Italic = 'italic',
}

export const CanvasTextFonts: FontConfig[] = [
export const AffineCanvasTextFonts: FontConfig[] = [
// Inter, https://fonts.cdnfonts.com/css/inter?styles=29139,29134,29135,29136,29140,29141
{
font: CanvasTextFontFamily.Inter,
Expand Down Expand Up @@ -252,3 +252,180 @@ export const CanvasTextFonts: FontConfig[] = [
style: CanvasTextFontStyle.Normal,
},
];
export const CommunityCanvasTextFonts: FontConfig[] = [
// Inter, https://fonts.cdnfonts.com/css/inter?styles=29139,29134,29135,29136,29140,29141
{
font: CanvasTextFontFamily.Inter,
url: 'https://fonts.cdnfonts.com/s/19795/Inter-Light-BETA.woff',
weight: CanvasTextFontWeight.Light,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Inter,
url: 'https://fonts.cdnfonts.com/s/19795/Inter-Regular.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Inter,
url: 'https://fonts.cdnfonts.com/s/19795/Inter-SemiBold.woff',
weight: CanvasTextFontWeight.SemiBold,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Inter,
url: 'https://fonts.cdnfonts.com/s/19795/Inter-LightItalic-BETA.woff',
weight: CanvasTextFontWeight.Light,
style: CanvasTextFontStyle.Italic,
},
{
font: CanvasTextFontFamily.Inter,
url: 'https://fonts.cdnfonts.com/s/19795/Inter-Italic.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Italic,
},
{
font: CanvasTextFontFamily.Inter,
url: 'https://fonts.cdnfonts.com/s/19795/Inter-SemiBoldItalic.woff',
weight: CanvasTextFontWeight.SemiBold,
style: CanvasTextFontStyle.Italic,
},
// Kalam, https://fonts.cdnfonts.com/css/kalam?styles=15166,170689,170687
{
font: CanvasTextFontFamily.Kalam,
url: 'https://fonts.cdnfonts.com/s/13130/Kalam-Light.woff',
weight: CanvasTextFontWeight.Light,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Kalam,
url: 'https://fonts.cdnfonts.com/s/13130/Kalam-Regular.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Kalam,
url: 'https://fonts.cdnfonts.com/s/13130/Kalam-Bold.woff',
weight: CanvasTextFontWeight.SemiBold,
style: CanvasTextFontStyle.Normal,
},
// Satoshi, https://fonts.cdnfonts.com/css/satoshi?styles=135009,135004,135005,135006,135002,135003
{
font: CanvasTextFontFamily.Satoshi,
url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-Light.woff',
weight: CanvasTextFontWeight.Light,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Satoshi,
url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-Regular.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Satoshi,
url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-Bold.woff',
weight: CanvasTextFontWeight.SemiBold,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Satoshi,
url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-LightItalic.woff',
weight: CanvasTextFontWeight.Light,
style: CanvasTextFontStyle.Italic,
},
{
font: CanvasTextFontFamily.Satoshi,
url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-Italic.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Italic,
},
{
font: CanvasTextFontFamily.Satoshi,
url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-BoldItalic.woff',
weight: CanvasTextFontWeight.SemiBold,
style: CanvasTextFontStyle.Italic,
},
// Poppins, https://fonts.cdnfonts.com/css/poppins?styles=20394,20389,20390,20391,20395,20396
{
font: CanvasTextFontFamily.Poppins,
url: 'https://fonts.cdnfonts.com/s/16009/Poppins-Light.woff',
weight: CanvasTextFontWeight.Light,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Poppins,
url: 'https://fonts.cdnfonts.com/s/16009/Poppins-Regular.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Poppins,
url: 'https://fonts.cdnfonts.com/s/16009/Poppins-SemiBold.woff',
weight: CanvasTextFontWeight.SemiBold,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Poppins,
url: 'https://fonts.cdnfonts.com/s/16009/Poppins-LightItalic.woff',
weight: CanvasTextFontWeight.Light,
style: CanvasTextFontStyle.Italic,
},
{
font: CanvasTextFontFamily.Poppins,
url: 'https://fonts.cdnfonts.com/s/16009/Poppins-Italic.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Italic,
},
{
font: CanvasTextFontFamily.Poppins,
url: 'https://fonts.cdnfonts.com/s/16009/Poppins-SemiBoldItalic.woff',
weight: CanvasTextFontWeight.SemiBold,
style: CanvasTextFontStyle.Italic,
},
// Lora, https://fonts.cdnfonts.com/css/lora-4?styles=50357,50356,50354,50355
{
font: CanvasTextFontFamily.Lora,
url: 'https://fonts.cdnfonts.com/s/29883/Lora-Regular.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Lora,
url: 'https://fonts.cdnfonts.com/s/29883/Lora-Bold.woff',
weight: CanvasTextFontWeight.SemiBold,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.Lora,
url: 'https://fonts.cdnfonts.com/s/29883/Lora-Italic.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Italic,
},
{
font: CanvasTextFontFamily.Lora,
url: 'https://fonts.cdnfonts.com/s/29883/Lora-BoldItalic.woff',
weight: CanvasTextFontWeight.SemiBold,
style: CanvasTextFontStyle.Italic,
},
// BebasNeue, https://fonts.cdnfonts.com/css/bebas-neue?styles=169713,17622,17620
{
font: CanvasTextFontFamily.BebasNeue,
url: 'https://fonts.cdnfonts.com/s/14902/BebasNeue%20Light.woff',
weight: CanvasTextFontWeight.Light,
style: CanvasTextFontStyle.Normal,
},
{
font: CanvasTextFontFamily.BebasNeue,
url: 'https://fonts.cdnfonts.com/s/14902/BebasNeue-Regular.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Normal,
},
// OrelegaOne, https://fonts.cdnfonts.com/css/orelega-one?styles=148618
{
font: CanvasTextFontFamily.OrelegaOne,
url: 'https://fonts.cdnfonts.com/s/93179/OrelegaOne-Regular.woff',
weight: CanvasTextFontWeight.Regular,
style: CanvasTextFontStyle.Normal,
},
];
7 changes: 6 additions & 1 deletion packages/blocks/src/surface-block/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,12 @@ export {
ZOOM_MIN,
ZOOM_STEP,
} from './consts.js';
export { CanvasTextFonts, GRID_GAP_MAX, GRID_GAP_MIN } from './consts.js';
export {
AffineCanvasTextFonts,
CommunityCanvasTextFonts,
GRID_GAP_MAX,
GRID_GAP_MIN,
} from './consts.js';
export { type EdgelessBlockType } from './edgeless-types.js';
export { ElementModel } from './element-model/base.js';
export { BrushElementModel } from './element-model/brush.js';
Expand Down

0 comments on commit 5238dfe

Please sign in to comment.