Add disclaimer for TrueType fonts to thickness test.

Fixes https://gitlab.com/kicad/code/kicad/issues/10740
This commit is contained in:
Jeff Young 2022-02-07 20:56:19 +00:00
parent 3c5ae6d317
commit 137edbe3f3
1 changed files with 15 additions and 15 deletions

View File

@ -126,21 +126,7 @@ bool DRC_TEST_PROVIDER_TEXT_DIMS::Run()
KIFONT::FONT* font = text->GetDrawFont(); KIFONT::FONT* font = text->GetDrawFont();
int actualH = size.y; int actualH = size.y;
int actualT = 0; int actualT = text->GetTextThickness();
if( font->IsStroke() )
{
actualT = text->GetTextThickness();
}
else if( font->IsOutline() )
{
// The best we can do for outline fonts is estimate their thickness based
// on their fontweight.
if( font->IsBold() )
actualT = GetPenSizeForBold( size.x );
else
actualT = GetPenSizeForNormal( size.x );
}
if( !m_drcEngine->IsErrorLimitExceeded( DRCE_TEXT_HEIGHT ) ) if( !m_drcEngine->IsErrorLimitExceeded( DRCE_TEXT_HEIGHT ) )
{ {
@ -194,6 +180,20 @@ bool DRC_TEST_PROVIDER_TEXT_DIMS::Run()
if( !m_drcEngine->IsErrorLimitExceeded( DRCE_TEXT_THICKNESS ) ) if( !m_drcEngine->IsErrorLimitExceeded( DRCE_TEXT_THICKNESS ) )
{ {
if( font->IsOutline() )
{
std::shared_ptr<DRC_ITEM> drcItem = DRC_ITEM::Create( DRCE_TEXT_THICKNESS );
m_msg = _( "(TrueType font characters can have variable thickness)" );
drcItem->SetErrorMessage( drcItem->GetErrorText() + wxS( " " ) + m_msg );
drcItem->SetItems( item );
drcItem->SetViolatingRule( constraint.GetParentRule() );
reportViolation( drcItem, item->GetPosition(), item->GetLayer() );
return true;
}
constraint = m_drcEngine->EvalRules( TEXT_THICKNESS_CONSTRAINT, item, nullptr, constraint = m_drcEngine->EvalRules( TEXT_THICKNESS_CONSTRAINT, item, nullptr,
item->GetLayer() ); item->GetLayer() );
bool fail_min = false; bool fail_min = false;