%% generate tags start %% #design %% generate tags end %% #software-engineering #design/font ## What is It? ![](https://browserstack.wpenginepowered.com/wp-content/uploads/2022/09/StaticFontsVsVariableFonts.png) One [[Font#What is a font file exactly? | font file]] give you many different variation. you can filter only variable font on google font. ### Differences between Static and Variable Fonts Now that we know about Static and Variable Fonts, let's understand the significant differences. |**Static Fonts**|**Variable Fonts**| |---|---| |Static Fonts maintain a different file for each variation.|Variable fonts maintain a single file having all the possible variations.| |Static Fonts do not support any CSS transition or animation.|Variable fonts support CSS transition and animation.| |Static Fonts are bound with fixed design limitations.|Variable Fonts offer multiple typographic variations.| |Static Fonts cannot create a custom font style.|Variable Fonts offer the ability to create a custom font style.| |Static Fonts do not improve a website's performance.|Variable Fonts enhance the website's performance, responsiveness, and readability.| ![(2) Variable Fonts on the Web, Explained - YouTube](https://www.youtube.com/watch?v=vBvbMxcbqSM&ab_channel=EnvatoTuts%2B) To learn more %% run start ```ts const {LinkPreview} = customJS return LinkPreview.getLinkPreviewFromUrl("https://fonts.google.com/knowledge/introducing_type/introducing_variable_fonts") ``` %% <div class="nifty-link-card-container"> <a class="nifty-link-card" href="https://fonts.google.com/knowledge/introducing_type/introducing_variable_fonts" target="_blank"> <div class="nifty-link-card-text"> <div class="nifty-link-card-title line-clamp-2">Introducing variable fonts – Fonts Knowledge - Google Fonts</div> <div class="nifty-link-card-description">Variable fonts remove the explicit distinctions between different weights and styles, and put more typographic control in the hands of the user.</div> <div class="nifty-link-href"> <img class="nifty-link-icon" src="https://www.gstatic.com/images/branding/product/2x/google_fonts_96dp.png"> https://fonts.google.com/knowledge/introducing_type/introducing_variable_fonts </div> </div> <div class="nifty-link-image-container"> <div class="nifty-link-image" style="background-image: url('https://lh3.googleusercontent.com/oj6m2E0mW0Fkzcey9VHHVAuqCv7atfIngzRIjT03EHlU64N0JXcDmWI5iLI')"> </div> </div> </a> </div> %% run end %% %% run start ```ts const {LinkPreview} = customJS return LinkPreview.getLinkPreviewFromUrl("https://fonts.google.com/knowledge/using_variable_fonts_on_the_web/web_font_comparisons_variable_vs_static") ``` %% <div class="nifty-link-card-container"> <a class="nifty-link-card" href="https://fonts.google.com/knowledge/using_variable_fonts_on_the_web/web_font_comparisons_variable_vs_static" target="_blank"> <div class="nifty-link-card-text"> <div class="nifty-link-card-title line-clamp-2">Web font comparisons: variable vs. static – Fonts Knowledge - Google Fonts</div> <div class="nifty-link-card-description">How efficient are variable web fonts when compared to static fonts? As with most questions related to typography, the answer—for better or worse—is “it depends.”</div> <div class="nifty-link-href"> <img class="nifty-link-icon" src="https://www.gstatic.com/images/branding/product/2x/google_fonts_96dp.png"> https://fonts.google.com/knowledge/using_variable_fonts_on_the_web/web_font_comparisons_variable_vs_static </div> </div> <div class="nifty-link-image-container"> <div class="nifty-link-image" style="background-image: url('https://lh3.googleusercontent.com/aysP5zxw4bR4Dl-7VXwuU-7-f9k-dRxAs6GksygKoulWnLs1BmevervRGQI')"> </div> </div> </a> </div> %% run end %% %% run start ```ts const {LinkPreview} = customJS return LinkPreview.getLinkPreviewFromUrl("https://www.browserstack.com/guide/variable-fonts-vs-static-fonts#:~:text=Now%20that%20we%20know%20about,let%27s%20understand%20the%20significant%20differences.&text=Static%20Fonts%20maintain%20a%20different,any%20CSS%20transition%20or%20animation.") ``` %% <div class="nifty-link-card-container"> <a class="nifty-link-card" href="https://www.browserstack.com/guide/variable-fonts-vs-static-fonts#:~:text=Now%20that%20we%20know%20about,let%27s%20understand%20the%20significant%20differences.&text=Static%20Fonts%20maintain%20a%20different,any%20CSS%20transition%20or%20animation." target="_blank"> <div class="nifty-link-card-text"> <div class="nifty-link-card-title line-clamp-2">Variable Fonts Vs Static Fonts | BrowserStack</div> <div class="nifty-link-card-description">Learn about the two types of Fonts that are available - Static and Variable Fonts, and their differences and pros/cons over each other.</div> <div class="nifty-link-href"> <img class="nifty-link-icon" src="https://browserstack.wpenginepowered.com/wp-content/themes/browserstack/img/favicons/apple-touch-icon.png"> https://www.browserstack.com/guide/variable-fonts-vs-static-fonts#:~:text=Now%20that%20we%20know%20about,let%27s%20understand%20the%20significant%20differences.&text=Static%20Fonts%20maintain%20a%20different,any%20CSS%20transition%20or%20animation. </div> </div> <div class="nifty-link-image-container"> <div class="nifty-link-image" style="background-image: url('https://browserstack.wpenginepowered.com/wp-content/uploads/2022/09/Variable-Fonts-Vs-Static-Fonts.png')"> </div> </div> </a> </div> %% run end %% %% run start ```ts const {LinkPreview} = customJS return LinkPreview.getLinkPreviewFromUrl("https://web.dev/articles/variable-fonts") ``` %% <div class="nifty-link-card-container"> <a class="nifty-link-card" href="https://web.dev/articles/variable-fonts" target="_blank"> <div class="nifty-link-card-text" style="width: 100%;"> <div class="nifty-link-card-title line-clamp-2">Introduction to variable fonts on the web  |  Articles  |  web.dev</div> <div class="nifty-link-card-description">How variable fonts work, how typographers implement variable fonts, and how to work with variable fonts in CSS.</div> <div class="nifty-link-href"> <img class="nifty-link-icon" src="https://www.gstatic.com/devrel-devsite/prod/v8968f24824135f40588bee141def93b2aa6ccdc7d86f8afca8cdd685d8fa94b7/web/images/touchicon-180.png"> https://web.dev/articles/variable-fonts </div> </div> </a> </div> %% run end %% ## How to Check if a File is Variable Font File ### Use Axis-praxis you can check your font file here to see if it is a variable font %% run start ```ts const {LinkPreview} = customJS return LinkPreview.getLinkPreviewFromUrl("https://www.axis-praxis.org") ``` %% <div class="nifty-link-card-container"> <a class="nifty-link-card" href="https://www.axis-praxis.org" target="_blank"> <div class="nifty-link-card-text" style="width: 100%;"> <div class="nifty-link-card-title line-clamp-2">Axis-Praxis: Variable Fonts in the browser</div> <div class="nifty-link-card-description">Axis-Praxis is a website for playing with OpenType variable fonts in modern browsers.</div> <div class="nifty-link-href"> <img class="nifty-link-icon" src=""> https://www.axis-praxis.org </div> </div> </a> </div> %% run end %% ![](https://res.cloudinary.com/yomaru/image/upload/v1701998162/obsidian/zuhrtmob68lycvvy852o.webp) ### Use Fonttools %% run start ```ts const {LinkPreview} = customJS return LinkPreview.getLinkPreviewFromUrl("https://github.com/fonttools/fonttools") ``` %% <div class="nifty-link-card-container"> <a class="nifty-link-card" href="https://github.com/fonttools/fonttools" target="_blank"> <div class="nifty-link-card-text"> <div class="nifty-link-card-title line-clamp-2">GitHub - fonttools/fonttools: A library to manipulate font files from Python.</div> <div class="nifty-link-card-description">A library to manipulate font files from Python. Contribute to fonttools/fonttools development by creating an account on GitHub.</div> <div class="nifty-link-href"> <img class="nifty-link-icon" src="https://github.com/fluidicon.png"> https://github.com/fonttools/fonttools </div> </div> <div class="nifty-link-image-container"> <div class="nifty-link-image" style="background-image: url('https://opengraph.githubassets.com/c0dabbe5749a81491cd2fe649c1db5fa74bb472a6c5fda5675940fe014ba0d66/fonttools/fonttools')"> </div> </div> </a> </div> %% run end %% On macOS, you can use the `fonttools` Python library to examine the font file and determine if it is a variable font or a static font. Here's how you can do it: 1. Install `fonttools` by opening Terminal and running the following command: ``` pip install fonttools ``` 2. Once installed, navigate to the directory containing your font file in Terminal using the `cd` command. For example, if your font file is located on the desktop, you can use: ``` cd ~/Desktop ``` 3. To check if the font is variable, run the following command, replacing `your_font_file.ttf` with the name of your font file: ``` ttx -o temp.xml your_font_file.ttf ``` 4. After running the command, a temporary XML file named `temp.xml` will be generated in the current directory. 5. Open the `temp.xml` file using any text editor or command-line tool. Look for `<table name="name">` within the XML content. 6. Under the `<table name="name">` section, search for `<nameID value="17">` or `<nameID value="18">`. If either of these exists, the font is a variable font. 7. Once you're done, you can delete the `temp.xml` file to clean up the temporary file created earlier. Using these steps, you can determine whether a font file is a variable font or a static font on macOS.