diff --git a/src/apps/stylededit/StyledEditWindow.cpp b/src/apps/stylededit/StyledEditWindow.cpp index 3ba782cd57..7b8ddd7fdf 100644 --- a/src/apps/stylededit/StyledEditWindow.cpp +++ b/src/apps/stylededit/StyledEditWindow.cpp @@ -1599,7 +1599,20 @@ StyledEditWindow::_SetFontStyle(const char* fontFamily, const char* fontStyle) font.SetFace(face); - fTextView->SetFontAndColor(&font); + int32 start = 0, finish = 0; + fTextView->GetSelection(&start, &finish); + + if (start != finish) { + text_run_array* runArray = fTextView->RunArray(start, finish);; + + for (int i = 0; i < runArray->count; i++) { + runArray->runs[i].font.SetFamilyAndStyle(fontFamily, fontStyle); + runArray->runs[i].font.SetFace(face); + } + + fTextView->SetRunArray(start, finish, runArray); + } else + fTextView->SetFontAndColor(&font); BMenuItem* superItem; superItem = fFontMenu->FindItem(fontFamily);