# How to keep stroke width unchanged when scaling a font

**URL:** <https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650>\
**Category:** FontCreator - Support\
**Created:** [September 15, 2026, 3:22pm UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650 "2026-09-15T15:22:25Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![277967435](https://forum.high-logic.com/user_avatar/forum.high-logic.com/277967435/32/11142_2.png) [@277967435](https://forum.high-logic.com/u/277967435)\
**Post date:** [September 15, 2026, 3:22pm UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/1 "2026-09-15T15:22:26Z")

</div>

Hello, how can I keep the stroke width unchanged after scaling a font? The current scaling script changes the stroke width. For the example of only scaling horizontally, the stroke width should remain unchanged after scaling.

 ![0](https://forum.high-logic.com/uploads/default/original/2X/e/e860838e2ea31ff05627c8a02bc8640b6ce731b0.png)

Before scaling, the stroke width was 73

 ![1](https://forum.high-logic.com/uploads/default/original/2X/b/bf909610e39e3998da7b18940d179742bc3b369a.png)

The stroke width is 66 after scaling.

 ![2](https://forum.high-logic.com/uploads/default/original/2X/2/2006facd0c3a0bdcc683001056ced5286461da96.png)

Can it keep stroke width unchanged when scaled, just like FontLab does? I think when scaling only in one direction, the stroke width should stay the same. Thank you!

 ![Screenshot_20260915230151](https://forum.high-logic.com/uploads/default/original/2X/d/da924299e3a9c739c0c1c5161381a33e5e40436c.png)

---

<div class="post-metadata">

**Author:** ![Bhikkhu\_Pesala](https://forum.high-logic.com/user_avatar/forum.high-logic.com/bhikkhu_pesala/32/9411_2.png) [@Bhikkhu\_Pesala](https://forum.high-logic.com/u/Bhikkhu_Pesala)\
**Post date:** [September 18, 2026, 12:42am UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/2 "2026-09-18T00:42:57Z")

</div>

You need to use two glyph transformations. In my example, the stroke width was 166 before scaling. As expected, after scaling down by 90% that becomes 149, so I need to make it bolder by 16 funits, or 8 x 2.

 ![Scale 90](https://forum.high-logic.com/uploads/default/original/2X/8/8f5e6fab50fa0e0d791d91657fce44c647996c39.png)

---

<div class="post-metadata">

**Author:** ![277967435](https://forum.high-logic.com/user_avatar/forum.high-logic.com/277967435/32/11142_2.png) [@277967435](https://forum.high-logic.com/u/277967435)\
**Post date:** [September 18, 2026, 1:29am UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/3 "2026-09-18T01:29:21Z")

</div>

I know what you mean, but for variable fonts, bolding may cause the contour points to not match up.

---

<div class="post-metadata">

**Author:** ![277967435](https://forum.high-logic.com/user_avatar/forum.high-logic.com/277967435/32/11142_2.png) [@277967435](https://forum.high-logic.com/u/277967435)\
**Post date:** [September 21, 2026, 7:00am UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/4 "2026-09-21T07:00:13Z")

</div>

Hey @ErwinDenissen, did you forget about this place?

---

<div class="post-metadata">

**Author:** ![ErwinDenissen](https://forum.high-logic.com/user_avatar/forum.high-logic.com/erwindenissen/32/9430_2.png) [@ErwinDenissen](https://forum.high-logic.com/u/ErwinDenissen)\
**Post date:** [September 29, 2026, 8:07am UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/5 "2026-09-29T08:07:11Z")

</div>

I have added support for this.

You can download the unofficial update here:  
[http://high-logic.com/tmp/fontcreator/FontCreatorSetup16.0.0.3083.exe](http://high-logic.com/tmp/fontcreator/FontCreatorSetup16.0.0.3083.exe)

I am looking forward to your findings!

---

<div class="post-metadata">

**Author:** ![277967435](https://forum.high-logic.com/user_avatar/forum.high-logic.com/277967435/32/11142_2.png) [@277967435](https://forum.high-logic.com/u/277967435)\
**Post date:** [September 29, 2026, 3:41pm UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/6 "2026-09-29T15:41:06Z")

</div>

Thank you so much! However, there’s an issue: the script has been running for over an hour and still hasn’t finished processing the large character set with more than 40,000 characters. Could you please help fix this? Thank you!

---

<div class="post-metadata">

**Author:** ![ErwinDenissen](https://forum.high-logic.com/user_avatar/forum.high-logic.com/erwindenissen/32/9430_2.png) [@ErwinDenissen](https://forum.high-logic.com/u/ErwinDenissen)\
**Post date:** [September 29, 2026, 3:46pm UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/7 "2026-09-29T15:46:47Z")

</div>

It can take a while. Do you see any progress?

---

<div class="post-metadata">

**Author:** ![277967435](https://forum.high-logic.com/user_avatar/forum.high-logic.com/277967435/32/11142_2.png) [@277967435](https://forum.high-logic.com/u/277967435)\
**Post date:** [September 29, 2026, 4:12pm UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/8 "2026-09-29T16:12:20Z")

</div>

The progress bar is moving slowly; it may take over 2 hours to complete.

---

<div class="post-metadata">

**Author:** ![ErwinDenissen](https://forum.high-logic.com/user_avatar/forum.high-logic.com/erwindenissen/32/9430_2.png) [@ErwinDenissen](https://forum.high-logic.com/u/ErwinDenissen)\
**Post date:** [September 29, 2026, 7:44pm UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/9 "2026-09-29T19:44:33Z")

</div>

I hope the result was worth waiting.

If you just want to experiment, you can always decide to apply the Scale feature on a small selection of glyphs.

---

<div class="post-metadata">

**Author:** ![277967435](https://forum.high-logic.com/user_avatar/forum.high-logic.com/277967435/32/11142_2.png) [@277967435](https://forum.high-logic.com/u/277967435)\
**Post date:** [September 30, 2026, 3:35am UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/11 "2026-09-30T03:35:06Z")

</div>

I tried scaling 6,766 Chinese characters, and after 30 minutes, the progress was only 50%. For variable fonts, selecting all layers makes the process even slower. I hope over 40,000 characters can be scaled in just a few seconds. Could you please optimize this? Thank you!

 ![Screenshot_20260930070935](https://forum.high-logic.com/uploads/default/original/2X/9/9f56f675fbf99a03dc9b80979da6ce718f16b115.png)

---

<div class="post-metadata">

**Author:** ![ErwinDenissen](https://forum.high-logic.com/user_avatar/forum.high-logic.com/erwindenissen/32/9430_2.png) [@ErwinDenissen](https://forum.high-logic.com/u/ErwinDenissen)\
**Post date:** [September 30, 2026, 6:22am UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/12 "2026-09-30T06:22:50Z")

</div>

Scaling that many glyphs in just a few seconds is unfortunately not realistic. FontCreator has to analyze and process the geometry of every glyph, and with variable fonts this may also need to be done for multiple layers.

We can take another look at the process, but I do not expect that it can be reduced from many minutes to just a few seconds.

If processing speed is more important than the geometry-aware scaling, you can use the old **Scale** feature instead, which is much faster.

---

<div class="post-metadata">

**Author:** ![277967435](https://forum.high-logic.com/user_avatar/forum.high-logic.com/277967435/32/11142_2.png) [@277967435](https://forum.high-logic.com/u/277967435)\
**Post date:** [September 30, 2026, 6:48am UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/13 "2026-09-30T06:48:42Z")

</div>

Scripts for other things like bolding, thinning, and rounding corners can process more than 40,000 characters in just a few seconds. Is scaling really unable to do that? Can it be optimized as much as possible? Even a few minutes would be acceptable. The current time is too long. It takes more than two hours to finish processing. Thank you very much!

---

<div class="post-metadata">

**Author:** ![ErwinDenissen](https://forum.high-logic.com/user_avatar/forum.high-logic.com/erwindenissen/32/9430_2.png) [@ErwinDenissen](https://forum.high-logic.com/u/ErwinDenissen)\
**Post date:** [September 30, 2026, 2:23pm UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/14 "2026-09-30T14:23:48Z")

</div>

I did a quick test on 22 glyphs, just to make sure the feature is working.

This is the original:

 ![image](https://forum.high-logic.com/uploads/default/original/2X/4/432cac1ba1b6f1560221d08139ac2b525c50f9ac.png)

I then applied this transformation:

 ![image](https://forum.high-logic.com/uploads/default/original/2X/e/e72c1592bd0fc88828b192cd8a2a7530ee32311b.png)

I then exported it as variable font and opened it again in FontCreator:

 ![image](https://forum.high-logic.com/uploads/default/original/2X/7/7c71fd4dd01757b5953673d695c826fc588cb298.png)

I did the same in FontLab 8:

 ![image](https://forum.high-logic.com/uploads/default/original/2X/b/ba2577565c3be24a222f7de14651a67f6f82c47b.png)

And exported it and then opended it on FontCreator:

 ![image](https://forum.high-logic.com/uploads/default/original/2X/d/dd5aa3da0df8b309783ca0cfc6355d0f47588c84.png)

So, yes FontCreator takes a lot more time, but in my opinion it does a better job, so for me it is worth waiting.

---

<div class="post-metadata">

**Author:** ![277967435](https://forum.high-logic.com/user_avatar/forum.high-logic.com/277967435/32/11142_2.png) [@277967435](https://forum.high-logic.com/u/277967435)\
**Post date:** [September 30, 2026, 2:40pm UTC](https://forum.high-logic.com/t/how-to-keep-stroke-width-unchanged-when-scaling-a-font/13650/15 "2026-09-30T14:40:01Z")

</div>

Okay, it seems this isn’t suitable for large font library scaling. Thank you for your efforts.
