diff --git a/src/grid_column.cpp b/src/grid_column.cpp index aff198513..c28b460dc 100644 --- a/src/grid_column.cpp +++ b/src/grid_column.cpp @@ -159,9 +159,14 @@ struct GridColumnStartTime final : GridColumnTime { int Width(const agi::Context *c, WidthHelper &helper) const override { agi::Time max_time = max_value(&AssDialogue::Start, c->ass->Events); - if (!by_frame) - return helper(max_time.GetAssFormatted()); - return helper(std::to_wstring(c->videoController->FrameAtTime(max_time, agi::vfr::START))); + std::string value = by_frame ? std::to_string(c->videoController->FrameAtTime(max_time, agi::vfr::START)) : max_time.GetAssFormatted(); + + for (char &c : value) { + if (c >= '0' && c <= '9') + c = '0'; + } + + return helper(value); } }; @@ -177,9 +182,14 @@ struct GridColumnEndTime final : GridColumnTime { int Width(const agi::Context *c, WidthHelper &helper) const override { agi::Time max_time = max_value(&AssDialogue::End, c->ass->Events); - if (!by_frame) - return helper(max_time.GetAssFormatted()); - return helper(std::to_wstring(c->videoController->FrameAtTime(max_time, agi::vfr::END))); + std::string value = by_frame ? std::to_string(c->videoController->FrameAtTime(max_time, agi::vfr::END)) : max_time.GetAssFormatted(); + + for (char &c : value) { + if (c >= '0' && c <= '9') + c = '0'; + } + + return helper(value); } };