carina-studio / PixelViewer

A cross-platform image viewer which supports reading raw Luminance/YUV/RGB/ARGB/Bayer pixels data from file and rendering it.
https://carina-studio.github.io/PixelViewer/
MIT License
225 stars 36 forks source link

Default font family name can't be null or empty(ubuntu20.04) #12

Closed chenloveheimei closed 11 months ago

chenloveheimei commented 11 months ago

(realbasicvsr1) ✘ ⚙ long@long-Ubuntu  ~/resources/soft/PixelViewer-2.7.4.312-linux-x64  ./PixelViewer Unhandled exception. System.InvalidOperationException: Default font family name can't be null or empty. at Avalonia.Media.FontManager..ctor(IFontManagerImpl platformImpl) in /_/src/Avalonia.Visuals/Media/FontManager.cs:line 33 at Avalonia.Media.FontManager.getCurrent() in //src/Avalonia.Visuals/Media/FontManager.cs:line 53 at Avalonia.Media.TextFormatting.TextCharacters.TryGetRunProperties(ReadOnlySlice1 text, Typeface typeface, Typeface defaultTypeface, Int32& count) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs:line 129 at Avalonia.Media.TextFormatting.TextCharacters.CreateShapeableRun(ReadOnlySlice1 text, TextRunProperties defaultProperties) in //src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs:line 62 at Avalonia.Media.TextFormatting.TextCharacters.GetShapeableCharacters() in //src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs:line 40 at Avalonia.Media.TextFormatting.TextFormatterImpl.FetchTextRuns(ITextSource textSource, Int32 firstTextSourceIndex, TextLineBreak previousLineBreak, TextLineBreak& nextLineBreak) in //src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs:line 280 at Avalonia.Media.TextFormatting.TextFormatterImpl.FormatLine(ITextSource textSource, Int32 firstTextSourceIndex, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak) in //src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs:line 15 at Avalonia.Media.TextFormatting.TextLayout.UpdateLayout() in //src/Avalonia.Visuals/Media/TextFormatting/TextLayout.cs:line 223 at Avalonia.Media.TextFormatting.TextLayout..ctor(String text, Typeface typeface, Double fontSize, IBrush foreground, TextAlignment textAlignment, TextWrapping textWrapping, TextTrimming textTrimming, TextDecorationCollection textDecorations, Double maxWidth, Double maxHeight, Double lineHeight, Int32 maxLines, IReadOnlyList`1 textStyleOverrides) in //src/Avalonia.Visuals/Media/TextFormatting/TextLayout.cs:line 71 at Avalonia.Controls.TextBlock.CreateTextLayout(Size constraint, String text) in /_/src/Avalonia.Controls/TextBlock.cs:line 475 at Avalonia.Controls.TextBlock.getTextLayout() in //src/Avalonia.Controls/TextBlock.cs:line 166 at Avalonia.Controls.TextBlock.MeasureOverride(Size availableSize) in //src/Avalonia.Controls/TextBlock.cs:line 521 at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 559 at Avalonia.Layout.Layoutable.Measure(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 364 at Avalonia.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) in //src/Avalonia.Controls/Grid.cs:line 1150 at Avalonia.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) in //src/Avalonia.Controls/Grid.cs:line 1005 at Avalonia.Controls.Grid.MeasureOverride(Size constraint) in //src/Avalonia.Controls/Grid.cs:line 427 at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 559 at Avalonia.Layout.Layoutable.Measure(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 364 at Avalonia.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) in //src/Avalonia.Controls/Grid.cs:line 1150 at Avalonia.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) in //src/Avalonia.Controls/Grid.cs:line 1005 at Avalonia.Controls.Grid.MeasureOverride(Size constraint) in //src/Avalonia.Controls/Grid.cs:line 427 at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 559 at Avalonia.Layout.Layoutable.Measure(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 364 at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 625 at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 559 at Avalonia.Layout.Layoutable.Measure(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 364 at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding) in //src/Avalonia.Layout/LayoutHelper.cs:line 46 at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding, Thickness borderThickness) in //src/Avalonia.Layout/LayoutHelper.cs:line 39 at Avalonia.Controls.Border.MeasureOverride(Size availableSize) in //src/Avalonia.Controls/Border.cs:line 187 at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 559 at Avalonia.Layout.Layoutable.Measure(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 364 at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding) in //src/Avalonia.Layout/LayoutHelper.cs:line 46 at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding, Thickness borderThickness) in //src/Avalonia.Layout/LayoutHelper.cs:line 39 at Avalonia.Controls.Presenters.ContentPresenter.MeasureOverride(Size availableSize) in //src/Avalonia.Controls/Presenters/ContentPresenter.cs:line 366 at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 559 at Avalonia.Layout.Layoutable.Measure(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 364 at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding) in //src/Avalonia.Layout/LayoutHelper.cs:line 46 at Avalonia.Controls.Primitives.VisualLayerManager.MeasureOverride(Size availableSize) in //src/Avalonia.Controls/Primitives/VisualLayerManager.cs:line 133 at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 559 at Avalonia.Layout.Layoutable.Measure(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 364 at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 625 at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 559 at Avalonia.Layout.Layoutable.Measure(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 364 at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 625 at Avalonia.Controls.Window.MeasureOverride(Size availableSize) in //src/Avalonia.Controls/Window.cs:line 916 at Avalonia.Controls.WindowBase.MeasureCore(Size availableSize) in //src/Avalonia.Controls/WindowBase.cs:line 247 at Avalonia.Layout.Layoutable.Measure(Size availableSize) in //src/Avalonia.Layout/Layoutable.cs:line 364 at Avalonia.Layout.LayoutManager.Measure(ILayoutable control) in //src/Avalonia.Layout/LayoutManager.cs:line 297 at Avalonia.Layout.LayoutManager.ExecuteMeasurePass() in //src/Avalonia.Layout/LayoutManager.cs:line 261 at Avalonia.Layout.LayoutManager.InnerLayoutPass() in //src/Avalonia.Layout/LayoutManager.cs:line 243 at Avalonia.Layout.LayoutManager.ExecuteLayoutPass() in //src/Avalonia.Layout/LayoutManager.cs:line 145 at Avalonia.Layout.LayoutManager.ExecuteQueuedLayoutPass() in //src/Avalonia.Layout/LayoutManager.cs:line 104 at Avalonia.Threading.JobRunner.Job.Avalonia.Threading.JobRunner.IJob.Run() in //src/Avalonia.Base/Threading/JobRunner.cs:line 181 at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority) in //src/Avalonia.Base/Threading/JobRunner.cs:line 37 at Avalonia.Threading.Dispatcher.RunJobs(DispatcherPriority minimumPriority) in /_/src/Avalonia.Base/Threading/Dispatcher.cs:line 80 at Avalonia.X11.X11Window.b__1030() in //src/Avalonia.X11/X11Window.cs:line 512 at Avalonia.Threading.JobRunner.Job.Avalonia.Threading.JobRunner.IJob.Run() in //src/Avalonia.Base/Threading/JobRunner.cs:line 181 at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority) in //src/Avalonia.Base/Threading/JobRunner.cs:line 37 at Avalonia.X11.X11PlatformThreading.HandleX11(CancellationToken cancellationToken) in //src/Avalonia.X11/X11PlatformThreading.cs:line 169 at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) in //src/Avalonia.X11/X11PlatformThreading.cs:line 245 at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in //src/Avalonia.Base/Threading/Dispatcher.cs:line 65 at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120 at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209 at Carina.PixelViewer.App.Main(String[] args) in /Users/carina/Studio/PixelViewer/PixelViewer/App.axaml.cs:line 72

chenloveheimei commented 11 months ago

已解决。 我设置成英文语言,就可以启动了。

hamster620 commented 11 months ago

Same as #9 .