Package Details: ttf-ms-win10-auto-zh_tw 10.0.19042.789-6

Git Clone URL: https://aur.archlinux.org/ttf-ms-win10-auto.git (read-only, click to copy)
Package Base: ttf-ms-win10-auto
Description: Microsoft Windows 10 Traditional Chinese TrueType fonts
Upstream URL: http://www.microsoft.com/typography/fonts/product.aspx?PID=164
Licenses: custom
Conflicts: ttf-ms-win10-zh_tw
Provides: ttf-ms-win10-zh_tw
Submitter: Zepman
Maintainer: RubenKelevra
Last Packager: RubenKelevra
Votes: 37
Popularity: 1.28
First Submitted: 2021-02-24 16:44 (UTC)
Last Updated: 2024-07-23 00:51 (UTC)

Dependencies (6)

Required by (0)

Sources (145)

Pinned Comments

Zepman commented on 2021-02-24 16:49 (UTC) (edited on 2021-03-24 22:08 (UTC) by Zepman)

This package is based on ttf-ms-win10. It differs in that it automatically downloads the fonts from Microsoft, if possible without downloading an entire ISO file.

If Polkit allows the user to create loop devices and mount files using udisks, around 200 MB of (mostly compressed) data will be downloaded. This can be a slow download method even over the fastest connections, since the fonts are taken from a large ISO file without downloading the entire file.

If Polkit is not available or it does not allow the user to use udisks, the entire ISO file will be downloaded and install.wim will be extracted. A check ensures that enough temporary disk space is available, which can be up to twice the size of the ISO file. This can happen if either Polkit or an authentication agent is not running, or when a user is logged in remotely (e.g. through SSH).

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

RubenKelevra commented on 2024-07-23 00:48 (UTC) (edited on 2024-07-23 00:49 (UTC) by RubenKelevra)

@boyd8444 building in a chroot is always recommended, for safety reasons. If yay doesn't support this, you shouldn't use it.

"To avoid problems caused by your particular system configuration, build packages in a clean chroot. If the build process still fails in a clean chroot, the issue is probably with the PKGBUILD."

-- https://wiki.archlinux.org/title/Arch_User_Repository

Apart from this, the PKGBUILD always explained, that you need to clean-up manually after failed buidling attempts. So please read the PKGBUILD instructions, before complaining:

# If the
# build fails, it might be that these must be unmounted manually. This can be
# done with:
#
#  $ udisksctl unmount -b /dev/loop0
#  $ udisksctl loop-delete -b /dev/loop0
#  $ fusermount -uz src/mnt/http
#
# Replace /dev/loop0 with the relevant loop device, which is reported during
# package build.

RubenKelevra commented on 2024-07-23 00:42 (UTC)

@jprt thanks, I've added a modified version (which doesn't break chroot builds) to the PKGBUILD and added you as contributor.

boyd8444 commented on 2024-07-23 00:22 (UTC) (edited on 2024-07-23 00:27 (UTC) by boyd8444)

This is stil broken. When the build fails, it leaves mounted loop back device and doen't umount or destroy the one it created. It doesn't cleanly recover from this error. Poor error handling. That is what broken means.

I don't want to make major configuration changes to my automounting configuration just to use this PKGBUILD. That is what broken means.

I use yay, not a chroot. If you don't support yay, then say so:

==> Starting prepare()...
- Examininging locally available fonts
- Fonts are missing
- Mount filesystems as a non-privileged user: allowed
- Downloading fonts directly
  - Mounting HTTP file
file name:  19042.631.201119-0144.20h2_release_svc_refresh_CLIENTENTERPRISEEVAL_OEMRET_x86FRE_en-us.iso
host name:  software-static.download.prss.microsoft.com
port number:    80
protocol:   http
request path:   /pr/download/19042.631.201119-0144.20h2_release_svc_refresh_CLIENTENTERPRISEEVAL_OEMRET_x86FRE_en-us.iso
auth data:  (null)
file size:  4079597568
  - Creating loop device
Error setting up loop device for mnt/http/19042.631.201119-0144.20h2_release_svc_refresh_CLIENTENTERPRISEEVAL_OEMRET_x86FRE_en-us.iso: GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Error waiting for loop object after creating '/dev/loop1': Timed out waiting for object
/home/xxxxxxxx/.cache/yay/ttf-ms-win10-auto/PKGBUILD: line 402: -1: substring expression < 0

RubenKelevra commented on 2024-07-22 23:31 (UTC)

@boyd8444 "This PKGBUILD is totally broken" is neither helpful not true. The PKG builds fine in a chroot:

==> Making package: ttf-ms-win10-auto 10.0.19042.789-5 (Tue Jul 23 00:52:28 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Entering fakeroot environment...
==> Starting package_ttf-ms-win10-auto()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "ttf-ms-win10-auto"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Starting package_ttf-ms-win10-auto-japanese()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "ttf-ms-win10-auto-japanese"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Starting package_ttf-ms-win10-auto-korean()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "ttf-ms-win10-auto-korean"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Starting package_ttf-ms-win10-auto-sea()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "ttf-ms-win10-auto-sea"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Starting package_ttf-ms-win10-auto-thai()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "ttf-ms-win10-auto-thai"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Starting package_ttf-ms-win10-auto-zh_cn()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "ttf-ms-win10-auto-zh_cn"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Starting package_ttf-ms-win10-auto-zh_tw()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "ttf-ms-win10-auto-zh_tw"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Starting package_ttf-ms-win10-auto-other()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "ttf-ms-win10-auto-other"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: ttf-ms-win10-auto 10.0.19042.789-5 (Tue Jul 23 00:54:54 2024)

If you have any issues, feel free to point them out.

"It doesn't cleanly recover from ANY failure." is not a valid error description.

boyd8444 commented on 2024-07-08 16:27 (UTC)

This PKGBUILD is a totally broken. It doesn't cleanly recover from ANY failure.

qwelias commented on 2024-06-11 12:53 (UTC)

It could also fail if something auto-mounts it. In my case it was gnome, disable automount in dconf under org.gnome.desktop.media-handling

Chryseus commented on 2024-04-03 22:22 (UTC)

Was able to finally get it installed following the suggestions by @jprt, modified PKGBUILD is here if you're stuck: https://gist.github.com/Chryseus/674f42ccf0a9b8cf646601da4c1b7792

michaldybczak commented on 2024-03-03 09:40 (UTC)

After installing udftools I was able to install this package. There were some initial errors with missing files, but from what I understand, the loop device was created successfully this time and the files showed up eventually and got pass.

Previously, I installed the package where I had to download and extract the fonts myself. It was fine, until I got update. Doing this again and again with every update beats the purpose. I had two choices. Make this auto package work (and I did) or go back to the regular ttf-ms package, which is old and misses many fonts, but works in overall well.

Inqognitoo commented on 2024-02-24 18:26 (UTC)

Got the same error as the guys below. Maybe there is some news on this?

jprt commented on 2023-12-21 14:47 (UTC)

For some reason when using httpfs2 to get the iso image when creating the loop device with udisks an error will occur: "GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Error waiting for loop object after creating '/dev/loopX': Timed out waiting for object." where X is the loop device number. In order to solve this I have modified the PKGBUILD. First I check if the PKGBUILD as been run in the past. For that I have add the following code before the first if with #_missingFonts: variable.

#Check that the package was run in the past.
  for loop_device in $(losetup --list | grep "${pkgbase}" | awk '{print $1}')
  do
      udisksctl loop-delete -b "$loop_device"
  done 

  for fuse_mount_points in $(cat /etc/mtab | grep "${pkgbase}" | awk '{print $2}')
  do
      fusermount -u "$fuse_mount_points"
  done

Then since the udisksctl is going to fail I fetch the loop device using losetup. So I after the first _loopDev variable declaration I add the following:

_loopDev=$(losetup --list | grep "$_isoFile" | awk '{print $1}')

For this to work it is necessary to have losetup which belongs to the core/util-linux package. Hope it helps.