Quote:
Originally Posted by shape
@kovidgoyal: But why are they being cut off in the middle, and why would the author's name also be truncated in the folder name as "Petty,rrence"? I also explained that on Mac I can type in extra lines of text (dozens of additional characters), so the filename allowed by the OS is not the limitation.
|
calibre enforces a maximum path length regardless of OS. While APFS allows up to 255 characters for the filename length and a maximum path length of 1024, you run into the maximum path length (directory names plus filename) at a lot less than 1024 bytes with many OS (Windows for example), a common limit is 255 characters. Since calibre is multi-OS, it uses the shortest path length of the supported OS.
With Montery 12.3.1, here's what the OS reports as the limits:
Code:
davidb@Davids-VMMac ~ % getconf NAME_MAX /
255
davidb@Davids-VMMac ~ % getconf PATH_MAX /
1024
What you are showing is a path length of ~177 characters. If you have the Petty,rrence directory in the root of your hard drive, that's all she wrote. As it is, when I look at my Mac VM, the path to a calibre library is:
Code:
/Users/davidb/calibre/Calibre Library/
Adding this to your path, I get:
Code:
/Users/davidb/calibre/Calibre Library/Petty,rrence/Enemy of the People: The Untold Stthe Journalists Who Opposed Hitler/Enemy of the People_ The Untold Story of the Journalists Who Opposed Hitler - Terrence Petty.kfx
Depending on where you are saving to disk and the length of your user name, your path may be longer or shorter but likely longer.
Personally, I place subtitles into a column just for them and only use the first entry in the author(s) and author sort to keep lengths shorter. The author bits are more intended for anthologies where you can have multiple authors and path lengths rapidly get out of control.
Since I use mostly Kobo eReaders, I can send subtitle, series & multiple authors without needing to store them in the filename.
As Kovid said, try to keep filenames short. Write your book in the file and not in the filename.