Hi Dileep,

your proposal looks nice. There's just one important thing missing: Okular 
already let's you create FreeText annotations. The confusing thing is that 
they're called "inline notes" in Okulars manual, and they're represented as 
class TextAnnotation (with m_textType == TextAnnotation::InPlace) in Okular and 
Popplers QT5 frontend. Under the hood poppler generates a real FreeText 
annotation:

# qt5/src/poppler-annotation.cc
Annot* TextAnnotationPrivate::createNativeAnnot(::Page *destPage, DocumentData 
*doc)
{
    // ...
    PDFRectangle rect = boundaryToPdfRectangle(boundary, flags);
    if (textType == TextAnnotation::Linked)
    {
        pdfAnnot = new AnnotText(destPage->getDoc(), &rect);
    }
    else
    {
        GooString * da = toAppearanceString(textFont);
        pdfAnnot = new AnnotFreeText(destPage->getDoc(), &rect, da); // Here it 
is :-)
        delete da;
    }
    // ...
}

I don't know the original bug you're working on. I assume that what really is 
missing is the FreeTextTypeWriter behavior? You can check the ISO 32000 PDF 
standard for FreeTextTypeWriter (IT entry of the FreeText object).
@Oliver: Do you know?

You can also fire up okular in gdb and convince yourself

$ gdb okular
(gdb) b AnnotFreeText::AnnotFreeText
(gdb) r

# load document, create inline note => we hit popplers 
AnnotFreeText::AnnotFreeText constructor

Thread 1 "okular" hit Breakpoint 1, 0x00007fffce304220 in 
AnnotFreeText::AnnotFreeText(PDFDoc*, PDFRectangle*, GooString*)@plt () from 
/tmp/usr/lib/libpoppler-qt5.so.1
(gdb) bt
#0  0x00007fffce304220 in AnnotFreeText::AnnotFreeText(PDFDoc*, PDFRectangle*, 
GooString*)@plt () from /tmp/usr/lib/libpoppler-qt5.so.1
#1  0x00007fffce30d689 in Poppler::TextAnnotationPrivate::createNativeAnnot (
    this=0x7fffdc00ccb0, destPage=<optimized out>, doc=<optimized out>)
    at 
/home/tobias/workspace/OSScontrib/poppler/qt5/src/poppler-annotation.cc:1880
... backtrace shortened ...

Cheers
Tobias

Am Mittwoch, 21. März 2018, 21:29:44 CET schrieb Dileep Sankhla:
> Hello,
> 
> I am interested to participate with Okular in GSoC this year. I have
> written a draft proposal for the project.
> 
> Here is the link to my proposal:
> 
> https://docs.google.com/document/d/1STBOz7Qcw1Wj6qB7XBg9er-wbsVx3g7Sw945WcHJfWU/edit?usp=sharing
> 
> Any feedback or suggestion will be highly appreciated.
> 
> Thanks and Regards,
> Dileep Sankhla
> 
> 
> 
> ‌


Reply via email to