The compile runs fine and I get aegisub64.exe. But there is some problem with fonts. With the default Arial font, 月语
in the test string shows as tofu (blocks). I tried to change the font to some Chinese fonts but then no character (including letters and numbers) is shown.
There is no issue displaying Chinese characters in the 3.2.2 binary release, even when font selected to Arial.
aegisub64.exe!memcpy_repmovs() Line 115
At f:\dd\vctools\crt\vcruntime\src\string\amd64\memcpy.asm(115)
aegisub64.exe!`anonymous namespace'::GdiFont::GetData(unsigned char * data=0x0000028e1d660080, unsigned __int64 offset=12065452, unsigned __int64 len=116440) Line 60
At aegisub\src\libass_gdi_fontselect.cpp(60)
aegisub64.exe!read_stream_font(FT_StreamRec_ * stream, unsigned long offset, unsigned char * buffer, unsigned long count=116440) Line 121
At aegisub\vendor\libass\libass\ass_font.c(121)
aegisub64.exe!FT_Stream_EnterFrame(FT_StreamRec_ * stream=0x0000028ea3f81810, unsigned long count=116440) Line 271
At aegisub\vendor\freetype2\src\base\ftstream.c(271)
aegisub64.exe!tt_face_load_gasp(TT_FaceRec_ * face=0x0000028e1cddb700, FT_StreamRec_ * stream=0x0000028ea3f81810) Line 1269
At aegisub\vendor\freetype2\src\sfnt\ttload.c(1269)
aegisub64.exe!sfnt_load_face(FT_StreamRec_ * stream=0x0000028ea3f81810, TT_FaceRec_ * face=0x0000028e1cddb700, int face_index=0, int num_params, FT_Parameter_ * params=0x0000000000000000) Line 1166
At aegisub\vendor\freetype2\src\sfnt\sfobjs.c(1166)
aegisub64.exe!tt_face_init(FT_StreamRec_ * stream=0x0000028ea3f81810, FT_FaceRec_ * ttface=0x0000028e1cddb700, int face_index=0, int num_params=0, FT_Parameter_ * params=0x0000000000000000) Line 563
At aegisub\vendor\freetype2\src\truetype\ttobjs.c(563)
aegisub64.exe!open_face(FT_DriverRec_ * driver=0x0000028e1cdd3fb0, FT_StreamRec_ * * astream=0x000000ac3dafb510, unsigned char external_stream, long face_index=0, int num_params=0, FT_Parameter_ * params=0x0000000000000000, FT_FaceRec_ * * aface=0x000000ac3dafb520) Line 1170
At aegisub\vendor\freetype2\src\base\ftobjs.c(1170)
aegisub64.exe!FT_Open_Face(FT_LibraryRec_ * library=0x0000028e1ce4f2c0, const FT_Open_Args_ * args=0x000000ac3dafb5d0, long face_index=0, FT_FaceRec_ * * aface=0x000000ac3dafb5b0) Line 2151
At aegisub\vendor\freetype2\src\base\ftobjs.c(2151)
aegisub64.exe!add_face(font_selector * fontsel, ass_font * font=0x000000ac3dafb680, unsigned int ch) Line 177
At aegisub\vendor\libass\libass\ass_font.c(177)
[Inline Framework] aegisub64.exe!ass_font_new(cache * font_cache=0x0000028e1cde7800, ass_library * library=0x0000028e1aa31d10, FT_LibraryRec_ * ftlibrary=0x0000028e1ce4f2c0, font_selector * fontsel=0x0000028ea3f820d0, ass_font_desc *) Line 249
At aegisub\vendor\libass\libass\ass_font.c(249)
aegisub64.exe!update_font(ass_renderer * render_priv=0x0000028e1cddb290) Line 130
At aegisub\vendor\libass\libass\ass_parse.c(130)
aegisub64.exe!reset_render_context(ass_renderer * render_priv=0x0000028e1cddb290, ass_style * style=0x0000028e1cddb4f8) Line 869
At aegisub\vendor\libass\libass\ass_render.c(869)
[Inline Framework] aegisub64.exe!init_render_context(ass_renderer *) Line 897
At aegisub\vendor\libass\libass\ass_render.c(897)
aegisub64.exe!ass_render_event(ass_renderer * render_priv=0x0000028e1cddb290, ass_event * event=0x0000028e1a9c8620, EventImages * event_images=0x0000028e1b0f5350) Line 2412
At aegisub\vendor\libass\libass\ass_render.c(2412)
aegisub64.exe!ass_render_frame(ass_renderer * priv=0x0000028e1cddb290, ass_track * track=0x0000028e1cdd41f0, __int64 now=100, int *) Line 2999
At aegisub\vendor\libass\libass\ass_render.c(2999)
aegisub64.exe!`anonymous namespace'::LibassSubtitlesProvider::DrawSubtitles(VideoFrame & frame={...}, double time) Line 177
At aegisub\src\subtitles_provider_libass.cpp(177)
aegisub64.exe!SubtitlesPreview::UpdateBitmap() Line 113
At aegisub\src\subs_preview.cpp(113)
aegisub64.exe!DialogStyleEditor::OnCommandPreviewUpdate(wxCommandEvent & event={...}) Line 500
At aegisub\src\dialog_style_editor.cpp(500)
aegisub64.exe!wxEvtHandler::ProcessEventIfMatchesId(const wxEventTableEntryBase & entry, wxEvtHandler * handler, wxEvent & event={...}) Line 1412
At aegisub\vendor\wxwidgets\src\common\event.cpp(1412)
aegisub64.exe!wxEvtHandler::SearchDynamicEventTable(wxEvent & event={...}) Line 1860
At aegisub\vendor\wxwidgets\src\common\event.cpp(1860)
[Inline Framework] aegisub64.exe!wxEvtHandler::TryHereOnly(wxEvent &) Line 1603
At aegisub\vendor\wxwidgets\src\common\event.cpp(1603)
aegisub64.exe!wxEvtHandler::TryBeforeAndHere(wxEvent & event={...}) Line 3635
At aegisub\vendor\wxwidgets\include\wx\event.h(3635)
aegisub64.exe!wxEvtHandler::ProcessEventLocally(wxEvent & event={...}) Line 1540
At aegisub\vendor\wxwidgets\src\common\event.cpp(1540)
aegisub64.exe!wxEvtHandler::ProcessEvent(wxEvent & event={...}) Line 1513
At aegisub\vendor\wxwidgets\src\common\event.cpp(1513)
aegisub64.exe!wxWindowBase::TryAfter(wxEvent & event={...}) Line 3457
At aegisub\vendor\wxwidgets\src\common\wincmn.cpp(3457)
aegisub64.exe!wxEvtHandler::ProcessEvent(wxEvent & event={...}) Line 1526
At aegisub\vendor\wxwidgets\src\common\event.cpp(1526)
aegisub64.exe!wxEvtHandler::SafelyProcessEvent(wxEvent & event) Line 1631
At aegisub\vendor\wxwidgets\src\common\event.cpp(1631)
[Inline Framework] aegisub64.exe!wxWindowBase::HandleWindowEvent(wxEvent &) Line 1534
At aegisub\vendor\wxwidgets\src\common\wincmn.cpp(1534)
aegisub64.exe!wxControlWithItemsBase::SendSelectionChangedEvent(int eventType=10027) Line 306
At aegisub\vendor\wxwidgets\src\common\ctrlsub.cpp(306)
aegisub64.exe!wxComboBox::MSWCommand(unsigned int param, unsigned short id) Line 334
At aegisub\vendor\wxwidgets\src\msw\combobox.cpp(334)
aegisub64.exe!wxWindow::HandleCommand(unsigned short id_, unsigned short cmd, HWND__ * control=0x00000000003409b8) Line 5222
At aegisub\vendor\wxwidgets\src\msw\window.cpp(5222)
aegisub64.exe!wxWindow::MSWHandleMessage(__int64 * result=0x000000ac3dafc5e0, unsigned int message=273, unsigned __int64 wParam=623440, __int64 lParam=3410360) Line 2925
At aegisub\vendor\wxwidgets\src\msw\window.cpp(2925)
aegisub64.exe!wxWindow::MSWWindowProc(unsigned int message=273, unsigned __int64 wParam=623440, __int64 lParam=3410360) Line 3524
At aegisub\vendor\wxwidgets\src\msw\window.cpp(3524)
aegisub64.exe!wxTopLevelWindowMSW::MSWWindowProc(unsigned int message=273, unsigned __int64 wParam=623440, __int64 lParam=3410360) Line 324
At aegisub\vendor\wxwidgets\src\msw\toplevel.cpp(324)
aegisub64.exe!wxDialog::MSWWindowProc(unsigned int message=273, unsigned __int64 wParam=623440, __int64 lParam=3410360) Line 351
At aegisub\vendor\wxwidgets\src\msw\dialog.cpp(351)
aegisub64.exe!wxWndProc(HWND__ * hWnd=0x00000000001409a6, unsigned int message=273, unsigned __int64 wParam=623440, __int64 lParam=3410360) Line 2668
At aegisub\vendor\wxwidgets\src\msw\window.cpp(2668)
[External Code]
aegisub64.exe!wxWindow::MSWDefWindowProc(unsigned int nMsg=273, unsigned __int64 wParam=66536, __int64 lParam=789122) Line 2210
At aegisub\vendor\wxwidgets\src\msw\window.cpp(2210)
aegisub64.exe!wxWindow::MSWWindowProc(unsigned int message=273, unsigned __int64 wParam=66536, __int64 lParam=789122) Line 3530
At aegisub\vendor\wxwidgets\src\msw\window.cpp(3530)
aegisub64.exe!wxChoice::MSWWindowProc(unsigned int nMsg=273, unsigned __int64 wParam=66536, __int64 lParam=789122) Line 705
At aegisub\vendor\wxwidgets\src\msw\choice.cpp(705)
aegisub64.exe!wxComboBox::MSWWindowProc(unsigned int nMsg=273, unsigned __int64 wParam=66536, __int64 lParam=789122) Line 217
At aegisub\vendor\wxwidgets\src\msw\combobox.cpp(217)
aegisub64.exe!wxWndProc(HWND__ * hWnd=0x00000000003409b8, unsigned int message=273, unsigned __int64 wParam=66536, __int64 lParam=789122) Line 2668
At aegisub\vendor\wxwidgets\src\msw\window.cpp(2668)
[External Code]
aegisub64.exe!wxGUIEventLoop::PreProcessMessage(tagMSG * msg=0x000000ac3dafd948) Line 96
At aegisub\vendor\wxwidgets\src\msw\evtloop.cpp(96)
aegisub64.exe!wxGUIEventLoop::ProcessMessage(tagMSG * msg=0x000000ac3dafd948) Line 163
At aegisub\vendor\wxwidgets\src\msw\evtloop.cpp(163)
aegisub64.exe!wxGUIEventLoop::Dispatch() Line 230
At aegisub\vendor\wxwidgets\src\msw\evtloop.cpp(230)
[Inline Framework] aegisub64.exe!wxEventLoopManual::ProcessEvents() Line 228
At aegisub\vendor\wxwidgets\src\common\evtloopcmn.cpp(228)
aegisub64.exe!wxEventLoopManual::DoRun() Line 273
At aegisub\vendor\wxwidgets\src\common\evtloopcmn.cpp(273)
aegisub64.exe!wxEventLoopBase::Run() Line 76
At aegisub\vendor\wxwidgets\src\common\evtloopcmn.cpp(76)
[Inline Framework] aegisub64.exe!wxDialogModalData::RunLoop() Line 62
At aegisub\vendor\wxwidgets\src\msw\dialog.cpp(62)
aegisub64.exe!wxDialog::ShowModal() Line 193
At aegisub\vendor\wxwidgets\src\msw\dialog.cpp(193)
[Inline Framework] aegisub64.exe!SubsEditBox::{ctor}::__l2::<lambda_10d2199829f6605e4163059fa3775cd9>::operator()(wxCommandEvent &) Line 131
At aegisub\src\subs_edit_box.cpp(131)
aegisub64.exe!wxEventFunctorFunctor<wxEventTypeTag<wxCommandEvent>,<lambda_10d2199829f6605e4163059fa3775cd9> >::operator()(wxEvtHandler * __formal=0x0000000000000000, wxEvent & event) Line 470
At aegisub\include\wx\event.h(470)
aegisub64.exe!wxEvtHandler::ProcessEventIfMatchesId(const wxEventTableEntryBase & entry, wxEvtHandler * handler, wxEvent & event={...}) Line 1412
At aegisub\vendor\wxwidgets\src\common\event.cpp(1412)
aegisub64.exe!wxEvtHandler::SearchDynamicEventTable(wxEvent & event={...}) Line 1860
At aegisub\vendor\wxwidgets\src\common\event.cpp(1860)
[Inline Framework] aegisub64.exe!wxEvtHandler::TryHereOnly(wxEvent &) Line 1603
At aegisub\vendor\wxwidgets\src\common\event.cpp(1603)
aegisub64.exe!wxEvtHandler::TryBeforeAndHere(wxEvent & event={...}) Line 3635
At aegisub\vendor\wxwidgets\include\wx\event.h(3635)
aegisub64.exe!wxEvtHandler::ProcessEventLocally(wxEvent & event={...}) Line 1540
At aegisub\vendor\wxwidgets\src\common\event.cpp(1540)
aegisub64.exe!wxEvtHandler::ProcessEvent(wxEvent & event={...}) Line 1513
At aegisub\vendor\wxwidgets\src\common\event.cpp(1513)
aegisub64.exe!wxEvtHandler::SafelyProcessEvent(wxEvent & event={...}) Line 1631
At aegisub\vendor\wxwidgets\src\common\event.cpp(1631)
[Inline Framework] aegisub64.exe!wxWindowBase::HandleWindowEvent(wxEvent &) Line 1534
At aegisub\vendor\wxwidgets\src\common\wincmn.cpp(1534)
[Inline Framework] aegisub64.exe!wxControl::ProcessCommand(wxCommandEvent &) Line 288
At aegisub\vendor\wxwidgets\src\msw\control.cpp(288)
[Inline Framework] aegisub64.exe!wxButton::SendClickEvent() Line 371
At aegisub\vendor\wxwidgets\src\msw\button.cpp(371)
aegisub64.exe!wxButton::MSWCommand(unsigned int param, unsigned short __formal=59129) Line 419
At aegisub\vendor\wxwidgets\src\msw\button.cpp(419)
aegisub64.exe!wxWindow::HandleCommand(unsigned short id_, unsigned short cmd, HWND__ * control=0x00000000000a0a88) Line 5222
At aegisub\vendor\wxwidgets\src\msw\window.cpp(5222)
aegisub64.exe!wxWindow::MSWHandleMessage(__int64 * result=0x000000ac3dafe990, unsigned int message=273, unsigned __int64 wParam=33576, __int64 lParam=658056) Line 2925
At aegisub\vendor\wxwidgets\src\msw\window.cpp(2925)
aegisub64.exe!wxWindow::MSWWindowProc(unsigned int message=273, unsigned __int64 wParam=33576, __int64 lParam=658056) Line 3524
At aegisub\vendor\wxwidgets\src\msw\window.cpp(3524)
aegisub64.exe!wxWndProc(HWND__ * hWnd=0x0000000000230a28, unsigned int message=273, unsigned __int64 wParam=33576, __int64 lParam=658056) Line 2668
At aegisub\vendor\wxwidgets\src\msw\window.cpp(2668)
[External Code]
aegisub64.exe!wxWindow::MSWDefWindowProc(unsigned int nMsg=514, unsigned __int64 wParam=0, __int64 lParam=2359324) Line 2210
At aegisub\vendor\wxwidgets\src\msw\window.cpp(2210)
aegisub64.exe!wxWindow::MSWWindowProc(unsigned int message=514, unsigned __int64 wParam=0, __int64 lParam=2359324) Line 3530
At aegisub\vendor\wxwidgets\src\msw\window.cpp(3530)
[Inline Framework] aegisub64.exe!wxAnyButton::MSWWindowProc(unsigned int) Line 658
At aegisub\vendor\wxwidgets\src\msw\anybutton.cpp(658)
aegisub64.exe!wxButton::MSWWindowProc(unsigned int nMsg=514, unsigned __int64 wParam=0, __int64 lParam=2359324) Line 444
At aegisub\vendor\wxwidgets\src\msw\button.cpp(444)
aegisub64.exe!wxWndProc(HWND__ * hWnd=0x00000000000a0a88, unsigned int message=514, unsigned __int64 wParam=0, __int64 lParam=2359324) Line 2668
At aegisub\vendor\wxwidgets\src\msw\window.cpp(2668)
[External Code]
[Inline Framework] aegisub64.exe!wxWindow::MSWSafeIsDialogMessage(tagMSG *) Line 2532
At aegisub\vendor\wxwidgets\src\msw\window.cpp(2532)
aegisub64.exe!wxWindow::MSWProcessMessage(tagMSG * pMsg=0x000000ac3daff608) Line 2416
At aegisub\vendor\wxwidgets\src\msw\window.cpp(2416)
aegisub64.exe!wxGUIEventLoop::PreProcessMessage(tagMSG * msg=0x000000ac3daff608) Line 145
At aegisub\vendor\wxwidgets\src\msw\evtloop.cpp(145)
aegisub64.exe!wxGUIEventLoop::ProcessMessage(tagMSG * msg=0x000000ac3daff608) Line 163
At aegisub\vendor\wxwidgets\src\msw\evtloop.cpp(163)
aegisub64.exe!wxGUIEventLoop::Dispatch() Line 230
At aegisub\vendor\wxwidgets\src\msw\evtloop.cpp(230)
[Inline Framework] aegisub64.exe!wxEventLoopManual::ProcessEvents() Line 228
At aegisub\vendor\wxwidgets\src\common\evtloopcmn.cpp(228)
aegisub64.exe!wxEventLoopManual::DoRun() Line 273
At aegisub\vendor\wxwidgets\src\common\evtloopcmn.cpp(273)
aegisub64.exe!wxEventLoopBase::Run() Line 76
At aegisub\vendor\wxwidgets\src\common\evtloopcmn.cpp(76)
aegisub64.exe!wxAppConsoleBase::MainLoop() Line 380
At aegisub\vendor\wxwidgets\src\common\appbase.cpp(380)
aegisub64.exe!AegisubApp::OnRun() Line 461
At aegisub\src\main.cpp(461)
aegisub64.exe!wxEntryReal(int & argc=446334688, wchar_t * * argv=0x0000000000000000) Line 503
At aegisub\vendor\wxwidgets\src\common\init.cpp(503)
aegisub64.exe!wxEntry(int & argc=1, wchar_t * * argv=0x0000028e1a9cc200) Line 181
At aegisub\vendor\wxwidgets\src\msw\main.cpp(181)
[External Code]