Skip to content

Releases: Xposed-Modules-Repo/io.github.kwensiu.dpis

1.13.0

17 Jun 19:02
47566be

Choose a tag to compare

1.13.0 (2026-06-17)

注:若字体缩放卡顿,请查看软件主页 “使用帮助” 的解决方式

优化

  • 合并模板摘要胶囊 (7cf837a)
  • 优化字体 Hook 配置引导与默认值 (224aae1)

修复

  • 避免开机时运行时误判导致电池无限制应用不生效 (c2ea712)
  • 明确字体 Hook 域名规则 (b2fc790)
  • 修复微信独立链路再次失效的问题 (b10bdeb)
  • 稳定 resources 读取路径中的系统字体缩放 (#88) (1574ffa)

Notice: If you got lag when scaling the font, please check the Usage help.

Features

  • combine template summary chips (7cf837a)
  • refine font hook guidance and defaults (224aae1)
  • unify font hook domain presentation (6aa7c06)

Bug Fixes

  • avoid boot-time runtime mirror false positives (c2ea712)
  • clarify font hook domain normalization (b2fc790)
  • harden VVeChat DPI runtime route handling (b10bdeb)
  • install modern system_server hooks during system startup (c8f73a6)
  • stabilize system font metrics scaling in resources read path (#88) (1574ffa)

1.12.3

14 Jun 07:16
47566be

Choose a tag to compare

1.12.3 (2026-06-14)

l10n

  • 添加 俄语 支持 (非常感谢 @Osean22! 提供的翻译)

Others

  • 更新 Workflows (ad711de)
  • 调整部分二级页面顶栏结构 (6c9a596)

l10n

  • Add Russian language support (Special thanks to @Osean22!)

Others

  • update workflows (ad711de)
  • polish secondary screen headers (6c9a596)

1.13.1

21 Jun 20:36
47566be

Choose a tag to compare

1.13.1 Pre-release
Pre-release

1.13.1 (2026-06-21)

新功能

  • 添加日志查看页(入口在工具页) (0da5de7)
  • 添加“反馈诊断”功能,帮助开发者更快定位问题 (#92) (6eeaff5)

修复

  • 明确应用配置的各种语义 (815e206)
  • 原生库显式链接 C++_static (05c0016)
  • 通过最终草稿语义规范应用配置状态 (39a597d)
  • 在编辑器中恢复草稿 Hook 链路状态 (4e2b438)

重构/其他

  • 包配置存储结构 (#91) (18d58c6)
  • 简化首页已配置应用状态卡 (a713359)

Features

  • add DPIS diagnostic log viewer (0da5de7)
  • feedback diagnostic function (#92) (6eeaff5)

Bug Fixes

  • clarify per-app configuration semantics (815e206)
  • explicitly link c++_static for native library (05c0016)
  • normalize app config dirty state by final draft semantics (39a597d)
  • restore draft hook-chain state in editor (4e2b438)

Refactoring

  • package config aggregation (#91) (18d58c6)
  • simplify configured apps home status card (a713359)

1.12.2

13 Jun 14:03
798cc86

Choose a tag to compare

1.12.2 (2026-06-12)

修复

  • 继续修复配置保存问题 (8939422)

重构

  • 完全重构命名为明确的 Modern / Legacy 而非含糊的旧命名 (d22608a)

Bug Fixes

  • make local config authoritative for runtime delivery (8939422)

Refactoring

  • rename Xposed build tracks to modern and legacy (d22608a)

1.12.1

12 Jun 07:53
798cc86

Choose a tag to compare

1.12.1 (2026-06-12)

新功能

  • “工具页”新增系统字体大小调整工具 (#78) (5d594b6)
  • 优化主工作区导航和配置界面 (97d5e96)
  • 新增打赏页面 (0adb479)

修复

  • 修复微信独立路线不生效的问题 (97cb839)
  • 保留草稿模式意图,避免被运行时数值覆盖 (6ff6185)
  • 调整应用列表间距语义,使布局更一致 (d453f73)
  • 根据 Xposed 加载状态判断首页激活状态 (162be98)

重构

  • 让应用配置以本地状态为权威来源,防止被远端旧状态覆盖 (#81) (7d7b33a)

Features

  • add system font size tool (#78) (5d594b6)
  • polish main workspace navigation and config UI (97d5e96)
  • add donation page (0adb479)

Bug Fixes

  • fix independent WeChat DisplayMetrics DPI route (97cb839)
  • preserve draft mode intent without runtime values (6ff6185)
  • refine app list spacing semantics (d453f73)
  • resolve home activation from xposed load state (162be98)

Refactoring

  • make app config local authoritative (#81) (7d7b33a)

1.12.0

07 Jun 17:54
798cc86

Choose a tag to compare

1.12.0 (2026-06-07)

新增

  • 新增「模板」可以集中管理常用配置
  • 新增「全局预填」:自定义预填值,为未配置应用表单草稿填入预定值
  • 新增「快捷模板」:允许自定义一整套配置,并批量应用到选中的应用
  • 批量应用模板后,自动尝试请求批量 LSPosed 作用域(Legacy 不支持)
  • 新增「首页」查看模块信息、使用帮助与反馈通道
  • 新增横屏 / 大屏下的右侧应用详情面板
  • 新增界面主题分类,目前允许调整 DPIS 内容缩放

链路

  • 字体 Hook 链路改为由统一域注册表管理,链路排序、推荐状态和显示文案来源更一致
  • 新增 微信独立链路,目前仅适配了微信较新版本,若不生效请反馈版本号
  • 系统模式下的 system_server 字体缩放改为只在启动入口写入,避免后续配置分发生命周期触发字体配置 relaunch
  • system_server 包选择现在会按入口和字段判断:font-only 配置不会进入非启动热路径,viewport 配置仍保留多生命周期路线
  • 修复应用配置保存后远端运行时配置未立即覆盖的问题,但目标应用经进程一般仍需重启后生效
  • 修复 Chromium 内核浏览器在 150% 相对界面比例 + 小窗切换/调整大小时可能闪烁的问题
  • 修复小窗场景下相对界面比例可能丢失、回到默认缩放或出现错误缩放的问题
  • 改进统一调度:小窗几何由窗口管理器负责,DPIS 只通过 metrics 维持目标 density,避免重复缩放

优化

  • 添加底栏,可切换:首页、应用、模板、工具、设置页
  • 更新检查和下载入口移动到首页卡片
  • 应用配置界面增加未保存徽标提示
  • 改进窄屏、横屏和大屏布局,部分弹窗和列表在不同屏幕尺寸下更稳定
  • 改进更新日志显示,支持更常见的 Markdown 内容
  • 改进开源许可页面、关于页面和反馈入口
  • 配置备份 / 导入现在会包含全局预填和快捷模板

修复

  • 修复备份导入时部分排除状态、模板状态丢失或覆盖异常的问题
  • 修复 Root 状态检测可能卡住的问题
  • 修复更新流程移动到首页后的一些状态显示和下载流程问题
  • 修复大量 UI wiring、资源、字符串和测试覆盖问题
  • 修复字体链路注册表使用高版本 Java API 导致部分 CI 环境 lint 失败的问题

提醒

  • Legacy 版本使用 DPI 缩放类功能时若发生不稳定,请尝试使用 “系统” 而非 “自动” 模式
  • 「全局预填」只会影响还没有配置过的应用,不会修改已有应用配置
  • 「快捷模板」是一次性应用,不与应用配置绑定
  • 「工具」页面施工中,后续会逐步添加内容
  • 应用快捷模板可能覆盖目标应用已有配置,请在确认弹窗中留意覆盖数量
  • Legacy 版本仍受 Xposed API 能力限制,部分体验可能和标准版不同

Added

  • Added “Templates” to manage commonly used configurations in one place
  • Added “Global Prefill”: customize preset values and fill them into the draft form for unconfigured apps
  • Added “Quick Templates”: create a full set of configuration values and apply it to selected apps in batches
  • After applying templates in batch, DPIS will automatically try to request LSPosed scope for selected apps (not supported in Legacy)
  • Added “Home” to view module information, usage help, and feedback channels
  • Added a right-side app detail panel for landscape / large-screen layouts
  • Added an interface theme category. Currently it allows adjusting DPIS content scaling

Hook Routes

  • Moved font hook route metadata to a unified domain registry, keeping route order, recommendation state, and display labels more consistent
  • Changed system_server font scaling in system mode to write only during the launch entry, avoiding font-configuration relaunches from later configuration dispatch lifecycle points
  • system_server package selection is now entry-aware and field-aware: font-only configs no longer enter non-launch hot paths, while viewport configs keep their multi-lifecycle route
  • Fixed an issue where saving an app configuration did not immediately overwrite the remote runtime configuration; target apps usually still need to be restarted to take effect
  • Fixed possible flickering in Chromium-based browsers when using 150% relative UI scaling and entering or resizing small windows
  • Fixed cases where relative UI scaling could be lost, reset to default, or become incorrect in small-window mode
  • Improved unified viewport scheduling in app processes: small-window geometry is left to the window manager, while DPIS keeps the target density through metrics to avoid repeated scaling

Improvements

  • Added a bottom navigation bar for switching between Home, Apps, Templates, Tools, and Settings
  • Moved update check and download entry to the Home card
  • Added an unsaved badge hint to the app configuration screen
  • Improved narrow-screen, landscape, and large-screen layouts. Some dialogs and lists should now behave more stably across screen sizes
  • Improved release note rendering, with support for more common Markdown content
  • Improved the open-source license page, About page, and feedback entries
  • Config backup / import now includes Global Prefill and Quick Templates

Fixes

  • Fixed issues where backup import could lose or incorrectly overwrite some excluded states or template states
  • Fixed an issue where Root status detection could get stuck
  • Fixed some state display and download flow issues after moving updates to Home
  • Fixed many UI wiring, resource, string, and test coverage issues
  • Fixed a CI lint failure caused by using a high-version Java API in the font route registry

Notes

  • “Global Prefill” only affects apps that have not been configured yet. It will not modify existing app configurations
  • “Quick Templates” are applied once and are not bound to app configurations
  • “Tools” page is still under construction. More content will be added gradually in future updates
  • Applying a Quick Template may overwrite existing configurations of target apps. Please check the overwrite count in the confirmation dialog
  • The Legacy version is still limited by Xposed API capabilities, so some experiences may differ from the standard version

1.11.1

31 May 20:52
af3d4e8

Choose a tag to compare

1.11.1 (2026-05-31)

修复

  • DPI 类调节 “系统” 模式不生效,以及 “自动” 模式回退异常的问题
  • 尝试解决微信公众号不生效的问题(仅 “自动”/“系统” 模式)

调整

  • Legacy 版本 DPI 类调整由于没有准确的判定方式,“自动” 模式将实际回退至 “兼容” 以确保大部分情况下生效

已知问题

  • "兼容" 模式对微信公众号相关页面不生效
  • Legacy 版本 DPI 类调整无法与标准版实现一致,目前为硬限制
  • 部分应用(例如抖音)调节字体缩放使用 “系统” 模式可能导致应用闪烁;浏览器调节 DPI 类时,小窗会闪烁

Bug Fixes

  • Fixed issue where DPI-related "System" mode did not work
  • Fixed issue where WeChat public account did not work (only in "Auto"/"System" mode)

Adjustments

  • For the Legacy version DPI adjustments, due to the lack of an accurate detection method, the "Auto" mode will actually fall back to "Compatible" to ensure effectiveness in most cases

Known Issues

  • Compatible mode does not work on WeChat public account related pages
  • Legacy version DPI adjustments cannot achieve the same results as the standard version

1.11.0

27 May 16:51
af3d4e8

Choose a tag to compare

1.11.0 (2026-05-27)

本版本新增 “界面” 模式,作为调整 “最小宽度” 模式的默认上位替代

操作更直观,也能覆盖更多调整场景!旧配置将被保留,不会自动迁移

新功能

  • 新增 “界面” 模式配置,目前范围为 30-300%。

    • 新配置应用将默认使用 “界面比例” 模式;需要固定宽度目标时,仍可切换到 “最小宽度”(“宽度”)模式
  • DPI 类调整现新增 “自动” 策略,会自动在系统/兼容间进行回退。不过仍可前往应用配置 -> “Hook 链路” -> “界面” 分页内指定需要的模式

    • 旧配置仍被保留,新配置的应用默认为 “自动”
  • 底层大量重构,理论更优,需要大家更多的反馈!

其他

  • 为配置 Sheet 新增高级操作引导,实际上应用详情一直都可以上拉展开高级操作区

  • 字体缩放默认模式调整为 “系统” 模式。


This release introduces Interface scale (Interface) mode as the new default, higher-level alternative to Smallest width mode.

It is more intuitive to configure and supports a wider range of adjustment scenarios. Existing configurations will be kept as-is and will not be migrated automatically.

Features

  • Added Interface scale (Interface) mode, currently supporting a range of 30–300%.
    • New app configurations will use Interface scale by default. You can still switch to Smallest width (Width) mode when a fixed width target is required.
  • DPI-related adjustments now include an Auto strategy, which can automatically fall back between the system route and the compatibility route. The strategy can still be manually configured under app config -> Hook chain -> Interface.
    • Existing configurations are preserved. New app configurations use Auto by default.
  • The underlying implementation has been heavily refactored. Feedback is very welcome.

Others

  • Added a hint for advanced actions in the config sheet. The app details sheet has actually always supported pulling up to expand the advanced actions area.
  • Changed the default font scaling mode to System.

1.10.0

21 May 20:13
d74ae44

Choose a tag to compare

1.10.0 (2026-05-21)

新功能

  • 添加字体替换功能,现在可以为不同的应用配置字体样式文件
  • 字体样式支持使用系统部分字体和导入字体

注意:目前部分系统(例如我的一加13)使用系统提供的字体样式不生效;ttc类字体导入需前往实验页开启

其他

  • 现在未在 Xposed 框架中被勾选的应用,会在保存配置时主动申请加入作用域

Features

  • Added font replacement functionality; you can now configure font style files for different applications.
  • Font styles now support using select system fonts as well as imported fonts.
    Note: Currently, using system-provided font styles does not work on certain systems (for example, my OnePlus 13); importing TTC fonts requires enabling the option on the experimental page.

Others

  • Applications that are not currently checked in the Xposed framework will now actively request to join the scope when saving configuration.

1.9.1

20 May 10:17
d74ae44

Choose a tag to compare

1.9.1 (2026-05-20)

久等了,这次继续优化了字体调度策略和DPI调整的稳定性。同时开放了所有字体兼容链路,并且可针对不同应用启用或关闭需要的链路。

对于 Legacy / HyperOS 版本及链路,由于对应接口本身的缺陷,目前仍只进行了静态兼容,未经过广泛测试。

字体兼容模式

  • 新增按应用自定义字体链路,可在应用详情中调整具体文字生效路径。
  • 字体兼容模式的推荐链路扩展为 Resources、TextView、Paint 与 WebView 路径共同参与,提高默认生效率。
  • TextView 字号改写增加来源追踪,减少 Resources、SP、绝对字号、当前 px 兜底之间的重复放大。
  • Compose 页面增加 Resources 字体调度,抑制重复的 fontScale / scaledDensity 写入。
  • HyperOS native / Flutter 字体路径现在遵循按应用自定义链路调度

DPI 与窗口稳定性

  • 改进小窗、自由窗口和旋转屏幕时的 DPI / 最小宽度处理。
  • 避免窗口级配置污染全局虚拟显示状态,降低调整窗口大小或旋转后系统整体 DPI 异常的风险。
  • 资源配置、显示指标与 viewport 状态的调度更集中,减少不同 Hook 路径各自判断导致的不一致。

调试与实验室

  • 日志输出和字体调试悬浮窗开关会同步到运行时属性,使目标进程更容易读取当前调试状态。
  • 实验室页面改为仅展示实验功能入口状态,并由全局开关统一控制。

Font Compatibility Mode

  • Added per-app custom font chains. You can adjust the exact text replacement paths from each app’s detail page.
  • The recommended font compatibility chain now includes Resources, TextView, Paint, and WebView paths to improve default coverage.
  • TextView text-size rewriting now tracks provenance to reduce repeated scaling between Resources, SP, absolute-size, and current-px fallback paths.
  • Compose pages now use Resources font scheduling. When Resources font scaling is detected as already consumed by Compose, repeated fontScale / scaledDensity writes are suppressed per Resources instance to reduce cross-page false positives.
  • HyperOS native / Flutter font paths now follow the per-app custom chain decision. Disabling the related domain prevents it from continuing through runtime properties or Rust process environment injection.

DPI And Window Stability

  • Improved DPI / smallest-width handling for floating windows, freeform windows, and screen rotation.
  • Prevented window-scoped configuration from polluting global virtual display state, reducing the risk of system-wide DPI anomalies after resizing windows or rotating the screen.
  • Centralized scheduling for resource configuration, display metrics, and viewport state to reduce inconsistent decisions across hook paths.

Debugging And Lab

  • Log output and font debug overlay switches are mirrored to runtime properties so target processes can read the current debug state more reliably.
  • The Lab page now only shows experimental entry status and is controlled by the global switch.