diff --git a/src/components/TagsByCategories.vue b/src/components/TagsByCategories.vue index c88f6e2..d1a7551 100644 --- a/src/components/TagsByCategories.vue +++ b/src/components/TagsByCategories.vue @@ -31,6 +31,7 @@ const reverseTags = ref(false); const variableOnly = ref(false); const staticOnly = ref(false); const scriptFilter = ref([]); +const placeholdersOnly = ref(false); const sampleText = ref(''); // Every script any font supports, from the family metadata subsets @@ -109,6 +110,9 @@ const filteredTaggings: ComputedRef = computed(() => { const axes = axisFilter.value.split(",").map(a => a.trim().toLowerCase()).filter(Boolean); filtered = filtered.filter(t => axes.every(a => t.font.axes.some(ax => ax.tag.toLowerCase() === a))); } + if (placeholdersOnly.value) { + filtered = filtered.filter(t => t.placeholder); + } if (scriptFilter.value.length > 0) { // Keep fonts that support any of the chosen scripts filtered = filtered.filter(t => scriptFilter.value.some(s => t.font.subsets.includes(s))); @@ -140,6 +144,7 @@ const filteredTaggings: ComputedRef = computed(() => { class="inline-block script-select"> +