⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 break_lines.cpp

📁 将konqueror浏览器移植到ARM9 2410中
💻 CPP
字号:
#include <break_lines.h>#include <qtextcodec.h>#include <qcstring.h>#ifdef HAVE_THAI_BREAKS#include "ThBreakIterator.h"static const QChar *cached = 0;static QCString *cachedString = 0;static ThBreakIterator *thaiIt = 0;#endifvoid cleanupLineBreaker(){#ifdef HAVE_THAI_BREAKS    if ( cachedString )	delete cachedString;    if ( thaiIt )	delete thaiIt;    cached = 0;#endif}namespace khtml {/*  This function returns true, if the string can bre broken before the   character at position pos in the string s with length len*/#ifdef HAVE_THAI_BREAKSbool isBreakable( const QChar *s, int pos, int len )#elsebool isBreakable( const QChar *s, int pos, int )#endif    {    const QChar *c = s+pos;    char ch = c->latin1();    if ( !ch ) {	// not latin1, need to do more sophisticated checks for asian fonts	unsigned char row = c->row();	if ( row == 0x0e ) {	    // 0e00 - 0e7f == Thai	    if ( c->cell() < 0x80 ) {#ifdef HAVE_THAI_BREAKS		// check for thai		if( s != cached ) {		    // build up string of thai chars		    QTextCodec *thaiCodec = QTextCodec::codecForMib(2259);		    if ( !cachedString )			cachedString = new QCString;		    if ( !thaiIt )			thaiIt = ThBreakIterator::createWordInstance(); 		    *cachedString = thaiCodec->fromUnicode( QConstString( (QChar *)s, len ).string() );		}		thaiIt->setText((tchar *)cachedString->data());		for(int i = thaiIt->first(); i != thaiIt->DONE; i = thaiIt->next() ) {		    if( i == pos )			return true;		    if( i > pos )			return false;		}		return false;#else		// if we don't have a thai line breaking lib, allow		// breaks everywhere except directly before punctuation.		return true;#endif	    } else 		return false;	}	if ( row < 0x11 ) // no asian font	    return false;	if ( row > 0x2d && row < 0xfb || row == 0x11 )	    // asian line breaking. Everywhere allowed except directly	    // in front of a punctuation character.	    return true;    } else {	if ( ch == ' ' || ch == '\n' )	    return true;    }    return false;}};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -