Cobalt 在开始时因字体问题而崩溃

Cobalt crash at start with font issue

cobalt时运行会崩溃如下,好像需要一些字体文件,请问需要什么字体,放在哪里?:

Caught signal: SIGSEGV(11)
SkFontMgr_CobaltDefaultFont() [0xcc6204]
SkFontMgr_CobaltDefaultFont() [0xcc6204]
SkFontMgr_CobaltDefaultFont() [0xcc6204]
SkFontMgr_CobaltDefaultFont() [0xcc6204]
SkFontMgr_CobaltDefaultFont() [0xcc6204]
SkFontMgr_CobaltDefaultFont() [0xcc6204]
SkFontMgr_CobaltDefaultFont() [0xcc6204]
.....

你可以查看crash的backtrace,你会发现当你运行 Cobalt时需要从content/data/fonts获取字体,而content/data/fonts是在building done Cobalt后创建的在 out/linux-x11directfb_qa/content/data/fonts(x11 directfb build) 中,因此您需要将整个内容文件从 out/linux-x11directfb_qa/ 复制到您的钴二进制文件所在的位置。

https://cobalt.googlesource.com/cobalt/+/e9b4b99dab6e774b8b6e63add74c352cc5dd395a/src/starboard/linux/shared/system_get_path.cc

bool SbSystemGetPath(SbSystemPathId path_id, char* out_path, int path_size) {
  if (!out_path || !path_size) {
    return false;
  }
  const int kPathSize = PATH_MAX;
  char path[kPathSize];
  path[0] = '[=10=]';
  switch (path_id) {
    case kSbSystemPathContentDirectory: {
      if (!GetExecutableDirectory(path, kPathSize)) {
        return false;
      }
      if (SbStringConcat(path, "/content/data", kPathSize) >= kPathSize) {
        return false;
      }
      break;
    }