libharzbuff would allow drawing glyphs for most languages with much less requirements than libpango. But that requires some work. So it is an alternative if in the future we need something more powerful but want to avoid pango. The change itself is easy to revert thanks to plymouth plugin base architecture - label-ft and label have the same ABI, it is just that label-ft has a subset of label's capabilities.
Regarding dependencies, this is what pangocairo pulls:
libharzbuff would allow drawing glyphs for most languages with much less requirements than libpango. But that requires some work. So it is an alternative if in the future we need something more powerful but want to avoid pango. The change itself is easy to revert thanks to plymouth plugin base architecture - label-ft and label have the same ABI, it is just that label-ft has a subset of label's capabilities.
Regarding dependencies, this is what pangocairo pulls:
$ ldd /lib/x86_ 64-linux- gnu/libpangocai ro-1.0. so.0 a000) 64-linux- gnu/libpango- 1.0.so. 0 (0x00007f3840a6 d000) 1.0.so. 0 => /lib/x86_ 64-linux- gnu/libpangoft2 -1.0.so. 0 (0x00007f3840a5 2000) 64-linux- gnu/libm. so.6 (0x00007f384096 b000) 64-linux- gnu/libglib- 2.0.so. 0 (0x00007f384083 1000) 2.0.so. 0 => /lib/x86_ 64-linux- gnu/libgobject- 2.0.so. 0 (0x00007f38407d 1000) 64-linux- gnu/libharfbuzz .so.0 (0x00007f384070 0000) 64-linux- gnu/libfontconf ig.so.1 (0x00007f38406b 6000) 64-linux- gnu/libcairo. so.2 (0x00007f384058 e000) 64-linux- gnu/libc. so.6 (0x00007f384036 6000) 64-linux- gnu/libgio- 2.0.so. 0 (0x00007f384018 e000) 64-linux- gnu/libfribidi. so.0 (0x00007f384017 2000) 64-linux- gnu/libthai. so.0 (0x00007f384016 7000) 64-linux- gnu/libfreetype .so.6 (0x00007f384009 d000) ld-linux- x86-64. so.2 (0x00007f3840b0 2000) 64-linux- gnu/libpcre. so.3 (0x00007f384002 7000) 64-linux- gnu/libffi. so.8 (0x00007f384001 a000) 64-linux- gnu/libgraphite 2.so.3 (0x00007f383fff 3000) 64-linux- gnu/libexpat. so.1 (0x00007f383ffc 2000) 64-linux- gnu/libuuid. so.1 (0x00007f383ffb 7000) 64-linux- gnu/libpixman- 1.so.0 (0x00007f383ff0 c000) 64-linux- gnu/libpng16. so.16 (0x00007f383fed 1000) 64-linux- gnu/libxcb- shm.so. 0 (0x00007f383fec c000) 64-linux- gnu/libxcb. so.1 (0x00007f383fea 2000) 64-linux- gnu/libxcb- render. so.0 (0x00007f383fe9 3000) 64-linux- gnu/libXrender. so.1 (0x00007f383fe8 4000) 64-linux- gnu/libX11. so.6 (0x00007f383fd4 4000) 64-linux- gnu/libXext. so.6 (0x00007f383fd2 f000) 64-linux- gnu/libz. so.1 (0x00007f383fd1 3000) 2.0.so. 0 => /lib/x86_ 64-linux- gnu/libgmodule- 2.0.so. 0 (0x00007f383fd0 c000) 64-linux- gnu/libmount. so.1 (0x00007f383fcc 8000) 64-linux- gnu/libselinux. so.1 (0x00007f383fc9 a000) 64-linux- gnu/libdatrie. so.1 (0x00007f383fc9 1000) 64-linux- gnu/libbrotlide c.so.1 (0x00007f383fc8 3000) 64-linux- gnu/libXau. so.6 (0x00007f383fc7 d000) 64-linux- gnu/libXdmcp. so.6 (0x00007f383fc7 5000) 64-linux- gnu/libblkid. so.1 (0x00007f383fc3 c000) 64-linux- gnu/libpcre2- 8.so.0 (0x00007f383fba 5000) n.so.1 => /lib/x86_ 64-linux- gnu/libbrotlico mmon.so. 1 (0x00007f383fb8 2000) 64-linux- gnu/libbsd. so.0 (0x00007f383fb6 a000) 64-linux- gnu/libmd. so.0 (0x00007f383fb5 d000)
linux-vdso.so.1 (0x00007fff72bf
libpango-1.0.so.0 => /lib/x86_
libpangoft2-
libm.so.6 => /lib/x86_
libglib-2.0.so.0 => /lib/x86_
libgobject-
libharfbuzz.so.0 => /lib/x86_
libfontconfig.so.1 => /lib/x86_
libcairo.so.2 => /lib/x86_
libc.so.6 => /lib/x86_
libgio-2.0.so.0 => /lib/x86_
libfribidi.so.0 => /lib/x86_
libthai.so.0 => /lib/x86_
libfreetype.so.6 => /lib/x86_
/lib64/
libpcre.so.3 => /lib/x86_
libffi.so.8 => /lib/x86_
libgraphite2.so.3 => /lib/x86_
libexpat.so.1 => /lib/x86_
libuuid.so.1 => /lib/x86_
libpixman-1.so.0 => /lib/x86_
libpng16.so.16 => /lib/x86_
libxcb-shm.so.0 => /lib/x86_
libxcb.so.1 => /lib/x86_
libxcb-render.so.0 => /lib/x86_
libXrender.so.1 => /lib/x86_
libX11.so.6 => /lib/x86_
libXext.so.6 => /lib/x86_
libz.so.1 => /lib/x86_
libgmodule-
libmount.so.1 => /lib/x86_
libselinux.so.1 => /lib/x86_
libdatrie.so.1 => /lib/x86_
libbrotlidec.so.1 => /lib/x86_
libXau.so.6 => /lib/x86_
libXdmcp.so.6 => /lib/x86_
libblkid.so.1 => /lib/x86_
libpcre2-8.so.0 => /lib/x86_
libbrotlicommo
libbsd.so.0 => /lib/x86_
libmd.so.0 => /lib/x86_
It would be indeed good to remove, say, libX* deps. If we do that we could in the future remove label-ft indeed.