X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontList.cpp;h=67fb8354b0617500c66cd4625398de501826b801;hb=548c5ba92dfd2d4d845266e392748ad18ff1ec04;hp=e5a86dbb29249b9fe81d2306d47f9bf5137098a8;hpb=b596330093d3fa5d80e3ffc185771df77a02393b;p=lyx.git diff --git a/src/FontList.cpp b/src/FontList.cpp index e5a86dbb29..67fb8354b0 100644 --- a/src/FontList.cpp +++ b/src/FontList.cpp @@ -20,8 +20,6 @@ #include "FontList.h" -#include "support/lyxalgo.h" - using namespace std; namespace lyx { @@ -69,7 +67,7 @@ void FontList::erase(pos_type pos) iterator it = fontIterator(pos); iterator beg = list_.begin(); if (it != list_.end() && it->pos() == pos - && (pos == 0 + && (pos == 0 || (it != list_.begin() && prev(it, 1)->pos() == pos - 1))) { // If it is a multi-character font @@ -112,14 +110,6 @@ void FontList::decreasePosAfterPos(pos_type pos) } -void FontList::setRange(pos_type startpos, pos_type endpos, Font const & font) -{ - // FIXME: Optimize!!! - for (pos_type pos = startpos; pos != endpos; ++pos) - set(pos, font); -} - - void FontList::set(pos_type pos, Font const & font) { // No need to simplify this because it will disappear @@ -135,7 +125,7 @@ void FontList::set(pos_type pos, Font const & font) size_t const i = distance(list_.begin(), it); // Is position pos a beginning of a font block? - bool const begin = pos == 0 || !found + bool const begin = pos == 0 || !found || (i > 0 && list_[i - 1].pos() == pos - 1); // Is position pos at the end of a font block? @@ -180,31 +170,6 @@ void FontList::set(pos_type pos, Font const & font) } -FontSize FontList::highestInRange(pos_type startpos, pos_type endpos, - FontSize def_size) const -{ - if (list_.empty()) - return def_size; - - List::const_iterator end_it = fontIterator(endpos); - const_iterator const end = list_.end(); - if (end_it != end) - ++end_it; - - List::const_iterator cit = fontIterator(startpos); - - FontSize maxsize = FONT_SIZE_TINY; - for (; cit != end_it; ++cit) { - FontSize size = cit->font().fontInfo().size(); - if (size == FONT_SIZE_INHERIT) - size = def_size; - if (size > maxsize && size <= FONT_SIZE_HUGER) - maxsize = size; - } - return maxsize; -} - - void FontList::validate(LaTeXFeatures & features) const { const_iterator fcit = list_.begin();