# DirectWrite and Set Character Spacing - Trouble using extended DW functionality

I'm having a hard time grasping the problem getting the newer/extended functions in dwrite_1.h to work with my existing code and hope that someone here can shed some light.

This is my existing set up...

 // HEADER
IDWriteFactory* pDWriteFactory_ = nullptr;
IDWriteTextFormat* pTextFormat_ = nullptr;
IDWriteTextLayout* pTextLayout_ = nullptr;
IDWriteTextRenderer* pTextRenderer_ = nullptr;

//CPP File in my PrepareText() Fcuntion.
hr = pDWriteFactory_->CreateTextLayout(
str.c_str(),
str.size(),
pTextFormat_,
gfx.GetWindowWidth(),
gfx.GetWindowHeight(),
&pTextLayout_);


I would like to be able to use the IDWriteTextLayout1::SetCharacterSpacing function outlined here : MSDN Link

However if I change my IDWriteTextLayout* to be IDWriteTextLayout1* I get an error as pDWriteFactory_ cannot be initialised with an IDWriteTextLayout1 as an argument. This error occurs if I change IDWriteFactory* to an IDWriteFactory1* also.

What am I missing? Many thanks!