[haiku-bugs] Re: [Haiku] #10045: PM: Putting fonts in non-packaged/data/fonts does not seem to work

  • From: "bonefish" <trac@xxxxxxxxxxxx>
  • Date: Tue, 01 Oct 2013 12:40:10 -0000

#10045: PM: Putting fonts in non-packaged/data/fonts does not seem to work
-------------------------+----------------------------
   Reporter:  stippi     |      Owner:  nobody
       Type:  bug        |     Status:  new
   Priority:  normal     |  Milestone:  R1
  Component:  - General  |    Version:  R1/Development
 Resolution:             |   Keywords:
 Blocked By:             |   Blocking:
Has a Patch:  0          |   Platform:  All
-------------------------+----------------------------

Comment (by bonefish):

 Replying to [comment:3 stippi]:
 > I thought the idea is that /boot/common is merged from both the packages
 and the contents of non-packaged.

 No.

 > B_COMMON_FONTS_DIRECTORY should still point to /boot/common/data/fonts.

 It does.

 > Why is there the need to have additional directories? Obviously that
 would not only break our own applications. WonderBrush for example looks
 in B_COMMON_FONTS_DIRECTORY and is still broken even when app_server is
 fixed. It has its own font engine.

 Yes, but the same is true for `B_COMMON_FONTS_DIRECTORY` and BeOS
 applications, since /boot/common didn't exist back then. This is really a
 design flaw -- or rather lacking feature -- of the `find_directory()`
 functionality. There should really be a more abstract API that simply
 allows you to iterate through e.g. all font directories without having to
 enumerate them specifically.

 > Doesn't that mean it is not transparent any more to applications, which
 stuff stems from packages and which from non-packages?

 Well, in the same way it isn't transparent which stuff stems from
 /boot/system and which from /boot/common or /boot/config/home.

 > How does it work for libraries? I thought a library could shadow a
 packaged library by putting a version in home/config/non-packaged/lib,
 which then appears in home/config/lib, shadowing any version from packages
 in home/config/packages.

 No, the shadowing happens at the runtime loader level. The path ~/config
 /non-packaged/lib is simply listed before ~/config/lib in LIBRARY_PATH.

--
Ticket URL: <http://dev.haiku-os.org/ticket/10045#comment:5>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: