Как широко известно в узких кругах, в ББ есть недокументированная возможность масштабировать очередное открываемое окно:
## Код:
```
HostWindows.dir.unit := альтернативный размер пикселя в универсальных единицах
```

Это повлияет на любое очередное открываемое окно (его порт получит именно такой unit).

Единственный нюанс, что к этому не готовы стандартные контролы (HostCFrames).
Там Винде отдаётся первый хэндл шрифта, а не хэндл с нужным unit-ом (HostFonts для любого шрифта (начертание-размер....) поддерживает список системных хэндлов на случай всех используемых unit-ов.
Корректный код для подбора шрифта с нужным unit находится в HostPorts.DrawString.

Соответственно, необходимая поправка - внесение в HostCFrames.Open правильного выбора шрифта:

## Код:
```
PROCEDURE Open (f: StdCFrames.Frame; class, name: WinApi.PtrWSTR;
                                                style, ex: SET; VAR i: Info);
      VAR res, x, y, w, h, cx, cy, cw, ch, udw: INTEGER; p: HostPorts.Port; s: SET; r: Ports.Rider;
         >>>df: HostFonts.DevFont;<<<
   BEGIN
      f.noRedraw := TRUE;
      r := f.rider; GetSize(f, x, y, w, h);
      r.GetRect(cx, cy, cw, ch); cw := cw - cx; ch := ch - cy;
      p := f.rider(HostPorts.Rider).port;
      IF p.wnd # 0 THEN   (* port is a window *)
         i.bkgnd := BkGndColor(f);
         s := {27, 30};   (* disabled, child *)
         i.wnd := WinApi.CreateWindowExW({}, "Oberon Ctrl", "", s, cx, cy, cw, ch, p.wnd, 0, instance, 0);
         IF i.wnd # 0 THEN
            DEC(x, cx); DEC(y, cy);
            res := WinApi.SetWindowLongW(i.wnd, dlgWindowExtra, SYSTEM.VAL(INTEGER, f));
            i.ctrl := WinApi.CreateWindowExW(ex, class, name, style, x, y, w, h, i.wnd, 0, instance, 0);
            IF i.ctrl # 0 THEN
               IF (SubclassCtl # NIL) & ~(f IS PushButton) THEN SubclassCtl(i.ctrl) END;
               IF f.font # NIL THEN
                  
                  >>df := f.font(HostFonts.Font).dev;
                  >>WHILE (df # NIL) & (df.unit # f.unit) DO df := df.next END;
                  >>IF df = NIL THEN
                  >>   HostFonts.InsertDevFont(p.dc, f.font(HostFonts.Font), df, p.unit)
                  >>END;

                  res := WinApi.SendMessageW(i.ctrl, WinApi.WM_SETFONT, df.id, 0)
               END;
.......................................
   END Open;
```
