From 5000520bf8c2c30a79e13230ce7a38db4a9e596a Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 24 May 2026 12:29:53 +0000 Subject: [PATCH] smart guides --- smart-guides.js | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 smart-guides.js diff --git a/smart-guides.js b/smart-guides.js new file mode 100644 index 0000000..d571a10 --- /dev/null +++ b/smart-guides.js @@ -0,0 +1,56 @@ +window.SmartGuides = { + getOptimalSize(textLength) { + if (textLength <= 12) { + return [92, 144]; + } + + if (textLength <= 40) { + return [52, 88]; + } + + return [18, 42]; + }, + + getOptimalWeight(fontCategory, size) { + if (fontCategory === 'Display') { + return size >= 72 + ? [600, 800] + : [500, 700]; + } + + return size >= 48 + ? [500, 700] + : [400, 600]; + }, + + getOptimalSpacing(size, weight) { + if (size >= 96) { + return [-6, 0]; + } + + if (weight >= 700) { + return [-2, 1]; + } + + return [0, 4]; + }, + + getGuideLabel(size, weight, spacing) { + if ( + size >= 72 && + weight >= 600 && + spacing <= 0 + ) { + return 'Display'; + } + + if ( + size <= 24 && + spacing >= 0 + ) { + return 'Readable'; + } + + return 'Balanced'; + } +};